免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
深入學(xué)習(xí)Composer原理(一)

Composer作為PHP的包管理工具,為PHPer們提供了豐富的類庫,并且讓PHP重?zé)ㄐ律?,避免被時代淘汰的悲劇。可以說,Composer和PHP7是現(xiàn)在PHP開發(fā)者的標(biāo)配,如果你還沒用過Composer或者在PHP7的環(huán)境下工作,那么還真是有點落伍了哦!

這次的系列文章將一步步的解析Composer原理,不會去講解Composer的命令或者如何使用,這方面的內(nèi)容您可以穩(wěn)步Composer中文網(wǎng):https://www.phpcomposer.com/


第一篇主要了解一個簡單的函數(shù):__autoload()魔術(shù)方法

<?php

$m = new TestClass();
$m->show();

function __autoload($className)
{
require $className . '.php';
}

學(xué)習(xí)編程,第一步一定是把代碼敲下來,請新建一個文檔叫作autoload.php,并把上面的代碼復(fù)制進(jìn)去。

然后在同級目錄新建一個TestClass.php文件,將以下代碼放入TestClass.php中:

<?php

class TestClass
{
public function show()
{
echo 'we are family!';
}
}

接下來,你可以通過網(wǎng)頁形式訪問autoload.php,或者我更推薦的直接在命令行運(yùn)行:php ./autoload.php

神奇的事情發(fā)生了,我們并沒有在autoload.php上方顯式的使用 require() 和 include 之類的函數(shù),而是在__autoload()中使用了 require $className . '.php'; 這段語句,就完成了TestClass.php文件的加載。

沒錯,我估計您也猜到了,__autoload()這個魔術(shù)方法的作用就是在調(diào)用的類如果沒有加載的情況下,就進(jìn)入到這個方法中。

在PHP官方文檔的解釋中是這樣定義的

嘗試加載未定義的類

函數(shù)格式

__autoload( string $class ) : void

  • 參數(shù)$class是沒有加載類的類名,也就是上方的TestClass

  • 返回值是空

  • 一般在函數(shù)內(nèi)部會根據(jù)$class去加載指定文件


這個方法在PHP7.2后會提示DEPRECATED,在未來的版本中可能會刪除。我們將再下一篇文章中講解的spl_autoload_register()函數(shù)將是自動加載的未來。使用自動加載函數(shù)的好處:不需要在文件頂部一大串的require

嗯,已經(jīng)了解了__autoload()是干嘛的,但是這和Composer有什么關(guān)系?

別急,任何牛X的技術(shù)總有一個基礎(chǔ),沒有這個條件這項技術(shù)就很難實現(xiàn),就像人工智能,雖然早就有了各種算法和理論,但在大數(shù)據(jù)技術(shù)盛開之前總是無法落地。因為機(jī)器學(xué)習(xí)需要的大量數(shù)據(jù)如何存取實在是個難點。在這里,Composer就像是AI技術(shù),而__autoload()方法就是那個基石。

完整源碼:GitHub

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
PHP命名空間 namespace 如何實現(xiàn)自動加載
編程語言php面向?qū)ο笕ヂ?(十七) 自動加載類
laravel 自定義函數(shù)使用
PHP 中類自動加載相關(guān)文件分析
PHP類的自動加載
文件加載
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服