热搜: 分页类  PHP  Windows补丁  验证码  Jpgraph  替换  收机  windows7  Swift  Laravel 
  • 首 页
  •  
     
    当前位置: 首页 » 编程语言 » PHP教程 » 正文

    在 thinkphp 中使用 laravel 的全部组件

    放大字体  缩小字体 发布日期:2017-02-05  浏览次数:726
    核心提示:作为一个使用 php 作为主力语言的公司,不管怎么说,在一些老的项目中,总会碰到使用 thinkphp 的。那么,热爱 laravel 的你,当你去开发新的 feature 时,大胆的去引入 laravel 的组件吧。不管是对于现在的开发效率,还是日后项目的重构,迁移都是有很大帮助

    作为一个使用 php 作为主力语言的公司,不管怎么说,在一些老的项目中,总会碰到使用 thinkphp 的。那么,热爱 laravel 的你,当你去开发新的 feature 时,大胆的去引入 laravel 的组件吧。不管是对于现在的开发效率,还是日后项目的重构,迁移都是有很大帮助的。那么下文就介绍下我是如何在 tp 项目中去使用 illuminate 的。

    必知概念

    对 laravel 熟悉的同学都知道,laravel 和 tp 最大的区别之一就会 tp 中没有容器这个概念了。关于容器,可以通读一下文档 Container 。在引入 illuminate 到 tp 中,第一步就是需要引入容器。

    Composer这个包管理工具也是 tp 中没有的 (据说 5.0 引入了)。引入之后在 tp 的 index.php 文件加上

    require_once __DIR__ . '/../vendor/autoload.php';

    开始

    这边我使用 tp3.2 来作为例子(其实公司的是 2.7,原理上并不存在任何区别)。

    在 tp 中,配置文件是使用 C 函数(这个时候程序已经进入到 tp 中了)来获取,这里就有两个选择了,你可以使用在 tp 的控制器初始化的时候引入你的 illuminate 初始化文件,这样你就不必维护一组单独的配置文件了(也就是 laravel 中的 env)。另外一种情况当然是引入 env 了,优势劣势都很明显,看你对整个项目的把控程度有多少,来采取相应的策略。

    引入组件

    例子引入一下组件

    "illuminate/database": "^5.3",
    "vlucas/phpdotenv": "^2.4",
    "illuminate/events": "^5.3",
    "illuminate/filesystem": "^5.3",
    "illuminate/cache": "^5.3",
    "symfony/var-dumper": "^3.2",
    "filp/whoops": "^2.1"
    

    有几个坑值得注意, 在 tp 中直接申明了两个方法, edump 都和 illuminate/support 这个包提供的两个全局方法冲突了,我的做法是直接删除 tp 提供的。

    实现

    关于具体实现

    代码细节直接参考 illuminate-in-tp ,基本没有什么太多细节。

    最后,祝愿你们都能在老的项目中使用上 laravel。


    小编为您推荐“在 thinkphp 中使用 laravel 的全部组件”相关文章

    objective-c中生成随机数的方法
    这篇文章主要介绍了objective-c中生成随机数的方法,比较实用的功能,需要的朋友可以参考下

    ThinkPHP路由详解
    ThinkPHP路由通俗的说,他是一个url的传输规则,例如:index.php?g=Home&m=Index&a=price 这个规则也是可以变化的,& 可以设置为@或者其他,规则主要有pathinfo等,在设置伪静态的时候也用的着他

    DropDownList添加客户端下拉事件操作
    我们知道,DropDownList下拉框是一个服务器控件,有时候,有些朋友为了方便绑定DropDownList下拉框的选项,但又想在DropDownList实现客户端的下拉事件,那该怎么实现呢?

    12306奇葩验证码引发思考之C#实现验证码程序
    春运最高峰来了!明天通过网络将能买到小年夜的车票,本周四就将开售除夕日车票,但不少人被首次在春运期间使用的图片验证码搞得很火大,小编也正在对验证码进行研究,编写了由C#实现验证码程序,分享给大家

    深入学习C语言中的函数指针和左右法则
    这篇文章主要介绍了深入学习C语言中的函数指针和左右法则,左右法则是一种常用的C指针声明,需要的朋友可以参考下

     
    TAGS: Laravel ThinkPHP
     
     
    猜你想看
     
    更多..
    与本文有关Laravel
    • Laravel专供:实现Schemaless
      之所以要实现 Schemaless,主要是因为在线 DDL 有很多痛点,关于这一点,我在以前已经写过文章,没看过的不妨看看「史上最LOW的在线DDL解决方案」,不过那篇文章主要以介绍为主,并没有涉及具体的实现,所以我写了一个 Laravel 的例子。首先创建测试用的 user
      02-05 关键词:LaravelMySQL
    • Laravel 5.3前端ajax请求,后端丢失session的问
      微信的h5产品,使用React+Laravel,一个奇怪的现象是只有正常的http请求,在server端可以得到session数据,所有的fetch api调用都无法得到session数据,导致所有的api调用返回401,需要授权。最初后端认为是前端在fetch调用的时候没有加上credentials参数,导
      02-05 关键词:LaravelAjax
    • 使用 Supervisor 管理 Laravel 队列进程
      Supervisor 是一个 Python 写的进程管理工具,有时一个进程需要在后台运行,挂掉后能够自动重启,那么就需要这么一个监控进程的工具。在 Laravel 开发中,也经常使用到队列监听,配合 Supervisor 来管理 Laravel 队列进程是一个很好的方式。Supervisor的安装1
      02-05 关键词:SupervisorLaravel
    • 升級 Laravel Homestead
      升級 Laravel Homestead
      Laravel Homestead Laravel Homestead 最新版本已經支援熱騰騰的 PHP 7.1,趕快來更新 Homestead 吧。如果還沒用過 Homestead,可以先看看 Laravel 開發環境使用 Homestead 。 升級 Homestead 程式碼先查一下目前使用的程式碼版本,開啟終端機,切換到 Homest
      02-05 关键词:LaravelVagrant
    • Laravel 5.4 正式发布,PHP 开发框架
      Laravel 5.4 正式发布,PHP 开发框架
      Laravel 5.4 正式发布了。有以下更新:Laravel Dusk当编写接口测试时,Laravel 提供了一组有用的帮助方法,用来方便地单击链接,填充表单文件或提交表单。Laravel 使用 Symfony BrowserKit 组件来模拟 Web 浏览器的行为。但是,如果应用程序使用 JavaScript
      02-05 关键词:Laravel
    • [ Laravel 5.4 文档 ] 序言 —— 发行版本说明
      [ Laravel 5.4 文档 ] 序言 —— 发行版本说明
      Laravel 5.4 在 5.3 的基础继续进行优化:在邮件和通知中支持Markdown、浏览器自动测试框架Laravel Dusk、Laravel Mix、Blade“组件”和“插槽”、在广播频道上进行路由模型绑定、在集合中支持高阶消息传递、基于对象的Eloquent事件、任务级别的“重试”和“
      02-05 关键词:Laravel中间件
    • Codeception 2.2.9 发布,全堆栈 PHP 测试框架
      Codeception 2.2.9 发布了,Codeception 是一个全堆栈的 PHP 测试框架。测试示例:?phpclass UserControllerCest {public $class = 'UserController';public function createAction(CodeGuy $I){$I-haveFakeClass($userController = Stub::make('UserControll
      02-05 关键词:Laravel
    • Laravel 中使用 Redis 数据库
      一、前言Redis 是一个开源高效的键值对存储系统,它通常用作为一个数据结构服务器来存储键值对,它可以支持字符串、散列、列表、集合、有序集合。1. 安装 predis/predis在 Laravel 中使用 Redis 之前,你需要通过 Composer 来安装predis/predis包(~1.0):$
      02-05 关键词:RedisLaravel
    • 组合使用Laravel和vfsStream测试文件上传
      核心要点 在应用开发中,测试是很重要的,在诸多的开发工具中,测试驱动开发是很伟大的一项; 测试文件上传并不像人们想象的那么简单; 目前,有很多很棒,但不为大家所熟知的测试工具; Larval能够让请求的校验更容易; 测试并不需要实际的文件系统,因为如
      02-05 关键词:LaravelPHPUnit
    • 辞旧迎新:悟以往之不谏,知来者之可追
      辞旧迎新:悟以往之不谏,知来者之可追
      ? 回首过去的2016年,Laravel版本经历了两次更新,新增了很多新特性,比如用户认证上的优化,中间件组的引入,又比如事件广播优化,模型搜索,邮件对象,API认证等功能组件的支持,以及前端引入Vue.js,Laravel生态系统在不断完善,持续致力于提升开发效率和
      01-06 关键词:Laravel
     
    相关评论
     
    猜你喜欢
     
    网站首页 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 | 网站留言