PHP学习心得


原理、知识点

<h2>原理总结</h2> <ul> <li> <p>最主是依靠php的spl_autoload_register()自动加载类和PSR4规范</p> </li> <li> <p>执行 composer install 时,读取composer.json里配置。</p> <ul> <li>先去镜像网站上拉取,如果没有直接去github上拉取。</li> <li>拉取成功后,会在当前的目录下创建一个vendor目录</li> </ul> </li> <li> <p>spl_autoload_register()使用示例</p> <ul> <li>在同一目录下创建三个文件test.php、UserInfo.php、Goods.php</li> <li>UserInfo.php文件内容</li> </ul> <pre><code class="language-php">&lt;?php class UserInfo { public function getInfo() { echo '我的名字叫:张三'; } }</code></pre> <ul> <li>Goods.php文件内容</li> </ul> <pre><code class="language-php">&lt;?php class Goods { public function getName() { echo '我的商品名称叫:华为手机P5'; } }</code></pre> <ul> <li>test.php文件内容</li> </ul> <pre><code class="language-php">&lt;?php spl_autoload_register(function ($class) { include './' . $class . '.php'; }); $userInfo = new UserInfo(); $userInfo-&gt;getInfo(); echo '&lt;br /&gt;'; $goods = new Goods(); $goods-&gt;getName();</code></pre> </li> </ul> <h2>composer.json和composer.lock</h2> <ul> <li>composer安装时,会读取composer.lock文件,进行更新依赖。</li> <li>如果composer.lock不存在或者里面没内内容,会执行composer.json,会将最新版本的文件下载到vendor目录里,然后再去更新composer.lock文件。</li> <li> <p>composer官方建议把composer.lock提交到git上。每当去更新依赖的时,都是基于composer.lock去更新的。</p> </li> <li>composer.lock文件阻止自动获取最新版本的依赖项。 <ul> <li>composer update 更新到最新版本,但最新类库会和你以前写的东西冲突,之前的代码不可用</li> </ul></li> </ul> <h2>composer install</h2> <ul> <li>如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖</li> </ul>

页面列表

ITEM_HTML