深入学习 Composer 自动加载(autoload)机制

众所周知 composer 是现代 PHP 项目的基石, 与古老的 pear 不同, composer 并不是一款专注于系统级别 php 管理的包管理系统,而是基于项目的一个库管理系统。这就好比 npm install -g 和 npm install 的区别。而且最主要的是 pear 不太能跟上时代的潮流,在大家都在用 psr-* 的时候 pear 依然我行我素自成一体。 好吧,可能这…

[ Laravel 5.4 文档 ] HTTP层 —— 视图

1、 创建视图 视图包含应用的 HTML 代码并将应用的控制器逻辑和表现逻辑进行分离。视图文件存放在 resources/views 目录。下面是一个简单视图: <!– 该视图存放 resources/views/greeting.php –> <html> <body> <h1>Hello, {{ $name }}</h1&gt…

基于 LaraDock 在 Docker 中快速构建 Laravel 应用系列教程 —— 工具软件使用

1、Artisan命令 首先进入Workspace容器 docker-compose exec workspace bash 然后在Laravel项目目录下运行Artisan命令即可: php artisan list 当然,也可以运行其他PHP命令,如: composer update phpunit 2、PHP相关 安装PHP扩展 安装PHP扩展之前,需要区分PHP-FPM和PHP-…

laravel-amount —— Model 中自动转换金额的 Trait

1、背景 系统中涉及到金额的字段,View 层表现的时候一般都是以元为单位使用小数形式展示,不过 Domain 层存储时从空间、性能、容错角度出发,经常以分为单位,用整型来存储。 在 Lavarel 中,可以在 Model 中添加属性方法进行转换 public function getAmountAttribute($value) { return $value / 100; } pub…

[ Laravel 5.3 文档 ] 视图 & 模板 —— 视图

1、 创建视图 视图包含应用的 HTML 代码并将应用的控制器逻辑和表现逻辑进行分离。视图文件存放在 resources/views 目录。 下面是一个简单视图: <!– 该视图存放 resources/views/greeting.php –> <html> <body> <h1>Hello, {{ $name }}</h1&g…

[ Laravel 5.3 文档 ] 起步 —— 安装

1、服务器要求 Laravel 框架有对服务器有少量要求,当然,Laravel Homestead 已经满足所有这些要求,所以我们强烈推荐使用 Homestead 作为 Laravel 本地开发环境(Mac的话还可以使用Valet作为本地开发环境)。 不过,如果你没有使用 Homestead,那么需要保证开发环境满足以下要求: PHP版本 >= 5.6.4 PHP扩展:OpenSS…

composer 将远程的包更改为本地开发模式

有时候我们会遇到线上的 composer 开发包功能不是很完善,但是很多功能我们还能够用到,我们只能自己去修改一部分代码让这个包能够去运行,同时不使用 composer 进行更新,否则代码会再更新的时候再次被覆盖掉。 下边是以下几个步骤: 在 composer.json 中去掉调用 一般情况下,去掉包,包在进行更新的时候会自己删除。 在 vendor/composer/installed…

最佳实践系列(二)—— 聊聊 PHP 私有组件以及如何创建自己的 PHP 组件

1、私有组件 大多数时候我们使用的都是公开可用的开源组件,但有时候如果公司使用内部开发的PHP组件,而基于许可证和安全方面的问题不能将其开源,就需要使用私有组件。对Composer而言,这是小菜一碟。 Composer可用管理放在需要认证的仓库中的私有PHP组件,执行composer install或composer update命令时,如果组件的仓库需要认证凭据,Composer会提醒…

最佳实践系列(一)—— 漫谈 PHP 组件、框架、Composer 那些事

1、什么是组件 组件是一组打包的代码,是一系列相关的类、接口和Trait,用于帮助我们解决PHP应用中某个具体问题。例如,你的PHP应用需要收发HTTP请求,可以使用现成的组件如guzzle/guzzle实现。我们使用组件不是为了重新实现已经实现的功能,而是把更多时间花在实现项目的长远目标上。 优秀的PHP组件具备以下特性: 作用单一:专注于解决一个问题,而且使用简单的接口封装功能 小型…

安装 Laravel 出问题了?你可能需要修改 composer.json 文件

Composer最近对pre-update-command的工作方式做了修改,该项修改会导致Laravel安装失败。 Jordi Boggiano给出了修改的原因: 如果没有composer.lock文件,初始化的“install”执行的实际是update操作,这会触发pre-update-cmd,而在此修改之前是触发pre-install-cmd。 幸运的是修复这一失败很简单,只需要将…

123