导航:首页 > 编程语言 > php类名变量名

php类名变量名

发布时间:2024-03-03 23:03:07

php怎么命名比较规范

1、类
类名每一个单词首字母大写,如类名StudentCourse。
2、常量
常量名所有字母大写,单词间用下划线分隔,如常量名NULL、TRUE、FALSE、ROOT_PATH等。
3、变量
为了保证代码的具有良好的可读性,一般要求在同一个软件系统中,变量的命名原则必须统一。
如变量的命名可以为第一个单词首字母小写,其余单词首字母大写(驼峰);
还可以采用单词所有字母小写,单词之间用下划线分割。
4、数组
数组是一个可以存储多个数据元素的容器,因此在为数组命名是,尽量使用单词的复数形式。
5、函数
函数的命名规范和变量名的命名规范相同。通常函数都是执行一个动作的,因此函数命名时,一般函数中会包含动词。
6、数据库表字段
数据库表字段的命名规范和变革两名的命名规范相同。
7、类文件
PHP类文件命名时通常以.class.php为后缀,文件名和类名相同。

② PHP大小写问题:函数名和类名不区分,变量名区分

PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下。
但我不是鼓励大家去用这些规则。推荐大家始终坚持“大小写敏感”,遵循统一的代码规范。
1.
变量名区分大小写
复制代码
代码如下:
<?php
$abc
=
'abcd';
echo
$abc;
//输出
'abcd'
echo
$aBc;
//无输出
echo
$ABC;
//无输出
2.
常量名默认区分大小写,通常都写为大写
(但没找到能改变这个默认的配置项,求解)
复制代码
代码如下:
<?php
define("ABC","Hello
World");
echo
ABC;
//输出
Hello
World
echo
abc;
//输出
abc
3.
php.ini配置项指令区分大小写

file_uploads
=
1
不能写成
File_uploads
=
1
4.
函数名、方法名、类名不区分大小写
但推荐使用与定义时相同的名字
复制代码
代码如下:
<?php
function
show(){
echo
"Hello
World";
}
show();
//输出
Hello
World
推荐写法
SHOW();
//输出
Hello
World
复制代码
代码如下:
<?php
class
cls{
static
function
func(){
echo
"hello
world";
}
}
Cls::FunC();
//输出hello
world
5.
魔术常量不区分大小写,推荐大写
包括:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、__NAMESPACE__。
复制代码
代码如下:
<?php
echo
__line__;
//输出
2
echo
__LINE__;
//输出
3
6.
NULL、TRUE、FALSE不区分大小写
复制代码
代码如下:
<?php
$a
=
null;
$b
=
NULL;
$c
=
true;
$d
=
TRUE;
$e
=
false;
$f
=
FALSE;
var_mp($a
==
$b);
//输出
boolean
true
var_mp($c
==
$d);
//输出
boolean
true
var_mp($e
==
$f);
//输出
boolean
true
PHP变量名区分大小写,函数名不区分大小写,经常被新手忽视的小细节,测试如下.
PHP变量名区分大小写测试:
复制代码
代码如下:
<?php

$aaa
=
"jb51.net";

$AAA
=
"JB51.CN";

echo
$aaa.'-'.$AAA;
//jb51.net-JB51.CN
?>
PHP函数名不区分大小写测试:
复制代码
代码如下:
<?php

function
bbb(){

echo
'abc';

}

function
BBB(){

echo
"Abc";

}
?>
上面这段代码会报错:(
!
)
Fatal
error:
Cannot
redeclare
BBB()

③ php类方法中参数问题,参数怎么是一个类名 加上变量,怎么理解

PHP5可以使用类型约束。函数的参数可以指定只能为对象(在函数原型里面指定类的名字),PHP5.1之后也可以指定只能为数组。
注:PHP7之后可以指定int,string等。

代表方法baz()接收的乱唤参数是一个对象,并且指定必须是Test类实例化的对迟陪蔽象。
比如在后面加如下代码就能正常输出:string(5)"hello"
12345

$a=newTest(111);$a->baz($a);

但是如果换成如下代码码州:

classB{}
$b=newB();
$a=newTest(111);
$a->baz($b);

就会报错:Catchablefatalerror:Argument1passedtoTest::baz()mustbeaninstanceofTest,instanceofBgiven
简单意思就是:传递参数必须是实例化Test,你传B的对象是不对的。

④ PHP变量名、变量值、类型

变量名 =》 zval

变量值 =》zend_value

问题:

引用计数

变量传递,变量赋值

变量的基础结构

变量值:zend_value 

typedef union _zend_value {

  zend_long        lval;            /* long value */

  double            dval;            /* double value */

  zend_refcounted  *counted;

  zend_string      *str;

  zend_array      *arr;

  zend_object      *obj;

  zend_resource    *res;

  zend_reference  *ref;

  zend_ast_ref    *ast;

  zval            *zv;

  void            *ptr;

  zend_class_entry *ce;

  zend_function    *func;

  struct {

      uint32_t w1;

      uint32_t w2;

  } ww;

} zend_value;

变量名:_zval

typedef struct _zval_struct    zval;

struct _zval_struct {

  zend_value        value;        /* value */

  union {

      struct {

        ZEND_ENDIAN_LOHI_4(

            zend_uchar    type,          /* active type */

            zend_uchar    type_flags,

            zend_uchar    const_flags,

            zend_uchar    reserved)        /* call info for EX(This) */

      } v;

      uint32_t type_info;

  } u1;

  union {

      uint32_t    var_flags;

      uint32_t    next;                /* hash collision chain */

      uint32_t    cache_slot;          /* literal cache slot */

      uint32_t    lineno;              /* line number (for ast nodes) */

      uint32_t    num_args;            /* arguments number for EX(This) */

      uint32_t    fe_pos;              /* foreach position */

      uint32_t    fe_iter_idx;          /* foreach iterator index */

  } u2;

};

变量类型【type】

/* regular data types */

#define IS_UNDEF              0

#define IS_NULL                  1

#define IS_FALSE              2

#define IS_TRUE                  3

#define IS_LONG                  4

#define IS_DOUBLE              5

#define IS_STRING              6

#define IS_ARRAY              7

#define IS_OBJECT              8

#define IS_RESOURCE                9

#define IS_REFERENCE            10

/* constant expressions */

#define IS_CONSTANT                11

#define IS_CONSTANT_AST            12

/* fake types */

#define _IS_BOOL              13

#define IS_CALLABLE                14

/* internal types */

#define IS_INDIRECT                15

#define IS_PTR                17

true 和 flase 没有zend_value 结构, 直接通过type来区分,zend_long和double的变量指直接存储在_zend_value中,不需要额外的value指针。

⑤ php function括号里(类名 变量名)这种写法是什么意思

php本来是弱类型语言,经过这几年的发展,php也支持了类型判断,比如可以声明一个函数变量为

function test(int $a):int{}

对于类名,变量名这种写法,是php5中引入的,这样目的就是对参数进行限定,可以提前判断出不符合类型的变量传入。

依赖注入是一种设计模式,而它依赖的就是这个功能,通过注入不同的类来实现不同的功能。

阅读全文

与php类名变量名相关的资料

热点内容
到去哪儿旅行app怎么买票 浏览:441
工商银行app房贷还款在哪里看 浏览:761
最新民生通讯app从哪里下载 浏览:378
如何在发短信时给自己手机号加密 浏览:773
扩展单片机ram寻址方式是什么 浏览:318
phpide是什么 浏览:752
单片机相关软件 浏览:818
eclipse如何编译c11 浏览:286
加密游戏app 浏览:73
vs2010编译嵌套太深 浏览:980
程序员面试注意事项 浏览:740
scratch编译为h5 浏览:208
威联通套件编译 浏览:233
清刻pdf 浏览:984
可编程延时发生器 浏览:93
滨州用服务器织梦要怎么上传文件 浏览:867
java7与java8 浏览:960
真空压缩袋什么材质好 浏览:936
excel批量见建文件夹 浏览:558
黑马程序员就业班笔记 浏览:371