转载地址:

https://my.oschina.net/inuxor/blog/750717

composer

是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

如今类似的包管理工具越来越多了,java有marven,js有npm,ruby有gem…… php自然就有composer。

安装composer

网上能搜到各种装法,其实仅仅是一点微小的工作,哪有那么麻烦。

  1. 看这里的官方文档,那个框里的四行代码分别执行一遍就齐活了。注意人下边那个

    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.

    别直接复制代码,因为每次新版都有变化。那个链接就别管它了,自找麻烦。

  2. 或者你跟我一样懒,并且恰好用着debian/deepin/ubuntu等等debian系的linux,大招来了

    sudo apt install composer

    所以说一定要用linux开发啊, 然而并不是。。。 windows自然有windows的路数:Composer-Setup.exe

切换到朝内源

但凡是包管理,都牵扯源,自动帮你下载包并解决依赖,包从哪下?源。而事情牵扯到我朝,就可能变得有点麻烦,你懂。翻墙?不和谐,幸好有这个项目:Packagist / Composer中国全量镜像 切换源啊,说出来高大上,很麻烦吧:

  1. composer config -g repo.packagist composer https://packagist.phpcomposer.com

    就这么简单,没有然后。如果实在有然后,就是composer的各种操作方式了,那不在本文范围

安装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安装模版引擎方法:

  1. composer require zoujingli/think-smarty
复制代码

ThinkPHP5 配置文件中template参数

  1. [
  2. // 模板引擎类型,指定为'Smarty'
  3. 'type'         => 'Smarty',
  4. // 模板路径,默认为当前模块下的`view`目录
  5. 'view_path'    => '',
  6. // 模板后缀
  7. 'view_suffix'  => 'tpl',
  8. // 模板文件名分隔符
  9. 'view_depr'    => '.',
  10. // 模板引擎普通标签开始标记
  11. 'tpl_begin'    => '<{',
  12. // 模板引擎普通标签结束标记
  13. 'tpl_end'      => '}>',
  14. // 标签库标签开始标记
  15. 'taglib_begin' => '{',
  16. // 标签库标签结束标记
  17. 'taglib_end'   => '}',
  18. ],
复制代码

那么在控制器 index/index::index 中 return view(); 时会加载模板 index/view/index.index.tpl

模板常量定义

  1. [
  2. '__ROOT__' => 'http://localhost/service/public',
  3. '__SELF__' => 'http://localhost/service/public/index.php/index/index.html?id=1&name=3',
  4. '__APP__' => 'http://localhost/service/public/index.php',
  5. '__LIB__' => 'http://localhost/service/public/static/plugs',
  6. '__STATIC__' => 'http://localhost/service/public/static',
  7. '__UPLOAD__' => 'http://localhost/service/public/static/upload',
  8. ]
复制代码

以上变量可以在模板里直接使用,自动替换成对应的路径。

composer方式安装thinkphp5,安装smarty的更多相关文章

  1. thinkphp中composer方式安装的插件如何使用

    thinkphp中composer方式安装的插件如何使用 一.总结 一句话总结:任何东西都是可以百度或者google搜到的,要自己先想怎么解决,解决不出来迅速百度,不要自己臆断 1.在tp5框架的什么 ...

  2. Ubuntu composer 安装thinkphp5 失败,报错:[ErrorException] mkdir(): Permission denied

    在Linux环境下,使用composer安装thinkphp5,安装时,报错:[ErrorException]               mkdir(): Permission denied : 看 ...

  3. composer安装thinkphp5

    之前安装过composer,里面的一些命令符可以看看,安装tp5我也是按照文档来的,也没什么难度.但是也出现一些问题: 安装tp5: 安装在本地php环境的www目录下,通过命令窗口切换到www目录下 ...

  4. Windows下开启composer镜像服务来安装yii

    网上关于使用composer的安装教程挺多的,但是作为新手的我,觉得好凌乱,不断尝试后,终于安装好了.最后总结出,用开启composer的镜像服务来安装yii是最好的啦,当然,归档文件的做法有利有弊就 ...

  5. Composer如何安装(安装注意事项)

    Composer如何安装(安装注意事项) 一.总结 一句话总结:安装的时候主要看安装错误提示: 常见的错误有: a.php需要开启openssl配置.我们打开php目录下的php.ini.将opens ...

  6. wamp环境下composer及laravel的安装配置

    laravel: PHP Web开发框架 composer: PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 一.composer安装 参考:Windows ...

  7. ubuntu18.04系统安装及php7.2,apache2,mysql8,git,svn,composer,vs code 到安装 php 扩展配置php.ini 实现 laravel5.8 运行

    简介:记录自己从系统安装到环境配置完毕运行laravel的记录    • 下载ubuntu18.04桌面版        ○ ubuntu18.04中国官网 https://cn.ubuntu.com ...

  8. thinkphp5 安装

    thinkphp 5开始可以使用composer安装 所以在安装thinkphp5.1之前,我们先安装composer ,下载地址:https://www.phpcomposer.com/ 安装完co ...

  9. 在xampp下安装thinkphp5

    在xampp2016下安装thinkphp5 (本人的坑,说白了就是把thinkphp5的文件放到htdocs下) 1.把该xampp中的php文件夹路径设置进环境变量,这样才能全局运行compose ...

随机推荐

  1. Winform的学习

    昨天由于一些原因没有上课啦,虽然也看啦一些东西,但是感觉太少也就没有来啦,嘿嘿,今天认真地了解啦winform,学习了一些控件的使用,但是感觉好多属性知道怎么用的,却还是记得不太清楚,感觉看到啦知道, ...

  2. BNU4207:台风

    东方非想天则(TH12.3)是一款优秀的格斗游戏,其以华丽的弹幕,连贯的技能衔接及优美的音乐吸引了众多玩家(宅男更多-_-),而且各平台上也为其提供了联机的机会. 好了,言归正传,天气系统是本游戏的一 ...

  3. 使用OpenRowSet操作Excel Excel导入数据库

    使用 OpenRowSet 和 OpenDataSource 访问 Excel 97-2007 测试文件:D:\97-2003.xls和D:\2007.xlsx,两个文件的内容是一模一样的. 测试环境 ...

  4. ACM中Java高效输入输出封装

    来自互联网 : 既高效又好用才是王道! import java.io.IOException; import java.io.FileInputStream; import java.io.Input ...

  5. axios请求本地json

    在vux的项目中 1,首先,json文件的位置: 原因: 访问服务器文件,应该把 json文件放在最外层的static文件夹,这个文件夹是vue-cli内置服务器向外暴露的静态文件夹   2,一定要用 ...

  6. EUI组件之HScrollBar VScrollBar (动态设置滑块图片)

    一.常规使用 官网教程里没有这个组件的使用方法 这个组件配合Scroller使用 拖动一个scroller到exml上.scroller上已经默认存在了HScrollBar和VScrollBar 当图 ...

  7. virgo-tomcat访问日志的详细配置

    Tomcat 日志信息分为两类:1.运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息.2.访问日志信息,它记录的访问的时间.IP.访问的资料等相关信息. 关于tomcat访问日志的产 ...

  8. 【BZOJ3786】星系探索 DFS序+Splay

    [BZOJ3786]星系探索 Description 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球 ...

  9. Shell脚步之监控iostat数据

    在性能测试中,进行iostat监控数据显示太不美观,看起来很痛苦,如下图 为了显示美观,写个shell脚本进行改造,如下: #! /bin/bash interval= ]; then interva ...

  10. thinkphp---自动验证的问题

    这段时间做一个项目:使用 thinkphp 做了一个自动验证,但是发现如果新增的时候,是能够进行自动验证的,但是在修改的修改的时候,会发现自动验证会失效. 验证的时候,模型是这样写的: protect ...