Composer自动加载实现
来源:互联网 发布:c语言基础书籍推荐 编辑:程序博客网 时间:2024/05/16 16:09
使用Composer实现自动加载时,Composer会在对应的文件夹里生成一个 vendor文件夹。其中文件夹里面会有一个autoload.php
文件,你只需要像平常引用文件一样引入autoload.php
,你就可以得到自动加载支持。
在命令行中,进入到你composer.json的目录下,然后执行composer dump-autoload命令 当出现了Generating autoload files时,表示执行成功,可以看到对应的文件夹里多了vendor文件夹(前提是您已经装好了composer)
只需引用vendor里面的autoload.php文件即可
classes文件夹里有三个类文件,内容分别是:
1.FileSystem.php 文件
<?phpnamespace Classes;class FileSystem{ public function upload() { echo "FileSystem::upload<hr>"; } public function download() { echo "FileSystem::download<hr>"; }}
2.Image.php文件
<?phpnamespace classes;class Image{ public function verify() { echo "Image::verify<hr>"; }}
3.Yousql.php文件
<?phpnamespace Classes;class Yousql{ public function insert() { echo "我是Yousql类的insert方法<hr>"; } public function update() { echo "我是Yousql类的update方法<hr>"; }}
需要注意的是:要想实现自动载入,您编写的代码需要满足PSR-4规则,若不按规则来,可能会出现意想不到的错误!
4.composer.json文件
{ "autoload" : { "psr-4" : { "Classes\\" : "classes/" } }}
“classes/” 为所写的类文件的目录
“Classes\” 为对应类里的命名空间(在这里类里面的命名空间可以小写),如果命名空间不对则会出错
$FileSystem = new Classes\FileSystem(); //如果compare.json里面规定的首字母大写,那么在new的时候对应的就应该大写
5.index.php文件
<?phprequire_once 'vendor/autoload.php';$FileSystem = new \Classes\FileSystem();$FileSystem->download();$Image = new \Classes\Image();$Image->verify();$Yousql = new \Classes\Yousql();$Yousql->insert();
执行index.php可以看到结果为:
FileSystem::download
Image::verify
我是Yousql类的insert方法
阅读全文
1 0
- Composer自动加载实现
- Composer中的自动加载
- Composer中的自动加载
- Composer中的自动加载
- Composer自动加载功能
- Composer中的自动加载
- composer 自动加载原理
- Composer自动加载机制
- Composer实现PHP中类的自动加载
- composer概述及自动加载
- composer dumpautoload自动加载命令
- laravel composer自动加载函数
- composer中自动加载文件
- composer应用(一)自动加载
- Composer自动加载机制源码剖析
- 使用composer自动加载php命名空间
- yii2框架-composer的自动加载(二)
- yii2框架-composer的自动加载(二)
- 线段树 高速公路(road)
- QuickSort快速排序
- git知识总结
- SB树
- linux中文乱码解决
- Composer自动加载实现
- poj2992(求因子个数)
- Angular表单验证
- [数位DP] Codeforces #809C. Find a car
- python 关于循环链表的实现
- spring之aop术语和配置
- 让自己的实力配得上自己的梦想
- 【LeetCode】175、combine two tables ; 176. Second Highest Salary
- 初识java多线程的wait(), notify()方法