转载地址:
https://my.oschina.net/inuxor/blog/750717
composer
是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
如今类似的包管理工具越来越多了,java有marven,js有npm,ruby有gem…… php自然就有composer。
安装composer
网上能搜到各种装法,其实仅仅是一点微小的工作,哪有那么麻烦。
-
看这里的官方文档,那个框里的四行代码分别执行一遍就齐活了。注意人下边那个
WARNING: Please do not redistribute the install code. It will change with every version of the installer. Instead, please link to this page or check how to install Composer programmatically.
别直接复制代码,因为每次新版都有变化。那个链接就别管它了,自找麻烦。
-
或者你跟我一样懒,并且恰好用着debian/deepin/ubuntu等等debian系的linux,大招来了
sudo apt install composer
所以说一定要用linux开发啊, 然而并不是。。。 windows自然有windows的路数:Composer-Setup.exe
切换到朝内源
但凡是包管理,都牵扯源,自动帮你下载包并解决依赖,包从哪下?源。而事情牵扯到我朝,就可能变得有点麻烦,你懂。FQ?不和谐,幸好有这个项目:Packagist / Composer中国全量镜像 切换源啊,说出来高大上,很麻烦吧:
-
就这么简单,没有然后。如果实在有然后,就是composer的各种操作方式了,那不在本文范围composer config -g repo.packagist composer https://packagist.phpcomposer.com
安装thinkphp5
一定要阅读文档
composer create-project topthink/think whatever_you_like_name --prefer-dist
完了,安装tp5到这步就完了
你说composer多好多好,这有什么好?我直接下载程序包扔www根目录不就行了?比用composer更省事不是吗 所以说,我们有了composer update这条命令,意思是更新当前项目。
cd whatever_you_like_name
composer update
如果一切正常会有类似如下显示
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Updating topthink/think-installer (v1.0.6 => v1.0.7)
Checking out b711e133468c07ebff1cb10f1b2691601dffa257
- Removing topthink/framework (dev-master 7d5e5fb)
- Installing topthink/framework (5.0)
Downloading: 100%
tp5官方修复了bug,优化了代码,重构了某个细节,通过composer update就能方便的获得,前提是你别直接乱改框架本身的东西。
安装扩展
composer的正式作用是
dependency manager for PHP
就是说你缺啥就用它补啥。比如缺心眼,composer require 心眼
在tp中我们缺啥?看看tp官方给提供了啥标配 助手函数,image操作,验证码,单元测试之类的,这哪够啊。我需要更强大的包,但我不知道叫啥,该上哪找? 这里! 进去搜就行了。 好,搜出来了
riverslei/payment 集成支付宝、微信支付等流行的支付接口,后续会持续跟进中
这个牛掰,怎么装?所以说看文档啊。还是在你刚才执行update的那个目录
composer require riverslei/payment
执行完了,就装上了。检查一下你的whatever_you_like_name/composer.json文件,留神到require部分,会类似这样
"require": {
"php": ">=5.4.0",
"topthink/framework": "^5.0",
"topthink/think-helper": "dev-master",
"topthink/think-captcha": "dev-master",
"topthink/think-queue": "dev-master",
"topthink/think-image": "dev-master",
"topthink/think-migration": "dev-master",
"kosinix/grafika": "dev-master",
"hightman/xunsearch": "*@beta",
"riverslei/payment": "~2.0"
},
看到riverslei/payment了是吧,那就是刚装上的。 装哪了?按惯例,装在whatever_you_like_name/vendor/目录下
想深究,自己去看。本文结束。
ThinkPHP5 Smarty 引擎驱动
安装方法
使用composer安装模版引擎方法:
- composer require zoujingli/think-smarty
ThinkPHP5 配置文件中template参数
- [
- // 模板引擎类型,指定为'Smarty'
- 'type' => 'Smarty',
- // 模板路径,默认为当前模块下的`view`目录
- 'view_path' => '',
- // 模板后缀
- 'view_suffix' => 'tpl',
- // 模板文件名分隔符
- 'view_depr' => '.',
- // 模板引擎普通标签开始标记
- 'tpl_begin' => '<{',
- // 模板引擎普通标签结束标记
- 'tpl_end' => '}>',
- // 标签库标签开始标记
- 'taglib_begin' => '{',
- // 标签库标签结束标记
- 'taglib_end' => '}',
- ],
那么在控制器 index/index::index 中 return view(); 时会加载模板 index/view/index.index.tpl
模板常量定义
- [
- '__ROOT__' => 'http://localhost/service/public',
- '__SELF__' => 'http://localhost/service/public/index.php/index/index.html?id=1&name=3',
- '__APP__' => 'http://localhost/service/public/index.php',
- '__LIB__' => 'http://localhost/service/public/static/plugs',
- '__STATIC__' => 'http://localhost/service/public/static',
- '__UPLOAD__' => 'http://localhost/service/public/static/upload',
- ]
以上变量可以在模板里直接使用,自动替换成对应的路径。