
批改狀態(tài):合格
老師批語(yǔ):條理非常的清楚
源碼示例:
//1 .傳統(tǒng)方式 include 或者 require
require 'app/controller/User.php';
//引入app/controller/User.php文件
use app\controller\User;
//導(dǎo)入app\controller\user的類(lèi)和方法
echo User::hello();
//實(shí)例化app\controller\user.php中的User類(lèi)
示例圖:
源碼示例:
<?
//注冊(cè)自動(dòng)加載函數(shù)
//加載類(lèi)文件使用一個(gè)內(nèi)置的函數(shù)來(lái)完成
spl_autoload_register(function($class){
$path =str_replace('\\',DIRECTORY_SEPARATOR,$class);
//獲取類(lèi)的路徑名稱(chēng)
//替換'\'為'/'使用DIRECTORY_SEPARATOR
$classFile = __DIR__ . '/'.$path.'.php';
//生成一個(gè)完整的類(lèi)文件名
require $classFile;
//返回類(lèi)文件名
//同等于:require 'app/controller/User.php';
});
use app\controller\User;
echo User::hello();
示例圖:
引入requireonce _DIR .’/vendor/autoload.php’;
對(duì)composer.json修改。使用files
示例:
{
"autoload": {
"files": [
"app/controller/User.php",
"lib/Order.php",
"lib/Goods.php"
]
}
}
使用composer獲取類(lèi)文件名.使用files
對(duì)composer.json修改。使用classmap
示例:
{
"autoload": {
"classmap": [
"app/controller",
"lib"
]
}
}
使用composer獲取文件目錄,使用classmap
對(duì)composer.json修改。使用psr-4
示例:
{
"autoload": {
"psr-4":{
"app\\controller\\":"app/controller",
"lib\\":"lib"
}
}
源碼及注釋?zhuān)?/p>
<?php
//1.使用composer中的自動(dòng)加載器
//調(diào)用的是composer中的字段加載器功能
require_once __DIR__ .'/vendor/autoload.php';
//composer.json:autoload:filese:可以加載任意位置的類(lèi)文件
// 注冊(cè)完成后,在終端執(zhí)行命令:composer dump-autoload,使files字段生效
//composer.json:autoload:classmap :類(lèi)映射,批量注冊(cè)類(lèi)
//autoload :psr-4 類(lèi)的命名空間:類(lèi)所在的路徑目錄,進(jìn)行綁定,命名空間最后必須以“\\”空間分隔符結(jié)尾
//只要是composer.json中的‘a(chǎn)utoload’字段的內(nèi)容發(fā)生變化,就必須執(zhí)行composer dumpautoload讓它注冊(cè)類(lèi)
//2。注冊(cè)類(lèi)別名
use app\controller\User;
use lib\Goods;
use lib\Order;
//3.注冊(cè)類(lèi)別名
//4.調(diào)用類(lèi)成員
echo User::hello();
echo "<hr>";
echo Order::iNdex();
echo "<hr>";
echo Goods::iNdex();
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)