zoukankan      html  css  js  c++  java
  • PHP const问题

    发现一个const使用的问题,场景是这样的,外包公司,之前给建行开发一个对外的sdk,在对接过程中,SDK出现各种各样的问题,这里主要介绍常量配置方面的

    1.框架的冲突

    define定义常量,会和框架中使用的同名常量存在冲突,因为框架中首先会使用define定义,造成加载到SDK时,会报重复定义,使用了const定义解决了此问题,因为define定义不会考虑命名空间,const会,define是全局定义,而const在定义时就带上了当前命名空间

    2.版本出现的

    const在php5.3时提供了支持,在SDK修改成const没有做多版本测试,后面对接就出现了问题,在一个公司使用php5.4版本,总是报语法错了,这真的很头大,因为仔细检查了很多遍,例如这样:

    const CONF_PATH=__DIR__.DIRECTORY_SEPARATOR;

    可以确定的是语法肯定是不存在错误的,然后对接方说对接其他的SDK中也使用了const定义常量,那更确定了const可以在此版本的使用。

    既然不是const的报错,又报语法错误,语法错误出现在__DIR__后面这个“.”,报错说,在“.”希望出现一个“,”或者“;”。

    然后我就想是否不支持拼接语法,因为const在官方文档中的描述是定义后不可修改,那在5.4的版本中是否认定,在__DIR__后就已经是常量定义完成了,后面的拼接就算是修改了,然后和对接方做了一个测试,事实就是这样。

    吸取教训,后面还是要做多个版本的测试,这样才能去确保万无一失。

    当你发现自己的才华撑不起野心时,就请安静下来学习吧
  • 相关阅读:
    Fixed Function Shader
    sqlserver 2014 数据库作业 通过脚本创建注意事项
    块存储、文件存储、对象存储意义及差异
    程序员如何成为架构师
    那些编程水平很高的程序员是怎么练成的?
    在ASP.NET Core调用WebService
    .net core 调用webservice同步方法
    Sqlserver中如何创建链接服务器
    JWT实现鉴权
    JWT原理实现代码
  • 原文地址:https://www.cnblogs.com/wang1204/p/14984769.html
Copyright © 2011-2022 走看看