導航:首頁 > 編程語言 > 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類名變數名相關的資料

熱點內容
單片機的系統組成 瀏覽:610
中國天河二號演算法 瀏覽:647
程序員是怎麼瘋的 瀏覽:598
程序員的貓有幾條命 瀏覽:832
安卓如何把圖片傳到電腦上 瀏覽:895
到去哪兒旅行app怎麼買票 瀏覽:444
工商銀行app房貸還款在哪裡看 瀏覽:761
最新民生通訊app從哪裡下載 瀏覽:378
如何在發簡訊時給自己手機號加密 瀏覽:773
擴展單片機ram定址方式是什麼 瀏覽:318
phpide是什麼 瀏覽:752
單片機相關軟體 瀏覽:818
eclipse如何編譯c11 瀏覽:286
加密游戲app 瀏覽:73
vs2010編譯嵌套太深 瀏覽:981
程序員面試注意事項 瀏覽:741
scratch編譯為h5 瀏覽:208
威聯通套件編譯 瀏覽:233
清刻pdf 瀏覽:984
可編程延時發生器 瀏覽:95