php靜態變數與方法與phar的使用

2022-07-04 15:36:17 字數 2151 閱讀 7765

本節用類與靜態變數改造之前的例子:php根據命令列引數生成配置檔案

ghostinit.php:

<?php

class

ghostinit

static

function

make()

}?>

ghost:

#

!/usr/bin/php

<?php

require "ghostinit.php";

$result = '';

if( $argc >= 2)

echo

$result . php_eol;

執行結果:

ghostwu@dev:~/php/php1/3$ ls

done ghost ghostinit.php

ghostwu@dev:~/php/php1/3$ ./ghost init

pls input project name?test

pls input author?ghostwu

您輸入的專案資訊如下:test

ghostwu

ghostwu@dev:~/php/php1/3$ ls

done ghost ghostinit.php

ghostwu@dev:~/php/php1/3$ ./ghost make

ghostwu@dev:~/php/php1/3$ ls

done ghost ghostinit.php ghost.phar

ghostwu@dev:~/php/php1/3$ ./ghost -v

ghost version is 1.1ghostwu@dev:~/php/php1/3$

callstatic繼續改造:

ghostinit.php:

<?php

class

ghostinit

static

function

make()

static

function __callstatic( $m, $args

) }

?>

ghost:

#

!/usr/bin/php

<?php

require "ghostinit.php";

$result = '';

if( $argc >= 2)

else

}echo

$result . php_eol;

把配置獨立成乙個類

ghostconfig.php:   把這兩個屬性注釋,也可以正常執行, php允許動態增加成員變數(類的屬性)

<?php

class

ghostconfig

ghostinit.php

<?php

require( "ghostconfig.php");

class

ghostinit

static

function

make()

static

function __callstatic( $m, $args

) }

?>

利用頂級類stdclass代替config類,這樣就減少了乙個類,這個config類目前只用到了一次,完全可以用stdclass再次簡化

<?php

class

ghostinit

static

function

make()

static

function __callstatic( $m, $args

) }

?>

生成配置資訊,再次簡化,變成公共模組:

static

function

init()

static

function getconfig( $conf

)

return

$std

; }

靜態變數與靜態方法

static 可實現所有的物件共享乙個成員變數。被 static 修飾的成員稱為靜態成員或類成員。它屬於整個類所有,而不是某個物件所有,即被類的所有物件所共享。訪問static成員變數有兩種方式 直接用類名.成員變數名訪問 定義類的物件,使用物件.成員變數名訪問。public class name ...

靜態變數與靜態方法

使用static修飾的方法稱作靜態方法,又稱類方法。同樣的,使用static修飾的變數又稱作類變數或者靜態變數。靜態方法有如下特點 1 應該通過類名直接呼叫,不用通過引用呼叫。2 方法內部 只能夠使用本方法內的區域性變數 方法的引數 靜態變數和靜態方法。不能使用非靜態的變數和非靜態的方法。同樣也不能...

靜態變數與靜態方法

被static修飾的成員變數就是靜態變數。靜態變數被該類下所有的物件所共享。物件空間中就沒有這個成員變數,存在方法區的靜態區。獲取值 物件名.屬性名 實際開發堅決不用 類名.屬性名 修改值 物件名.屬性名 新值 實際開發堅決不用 類名.屬性名 新值 示例 person類 public class p...