laravel
七个包
这个作者很懒,什么都没留下…
展开
-
laravel 解析 bootstrap/app.php 中绑定服务容器的一种方式
在laravel中,想要把服务绑定到容器一般是用下面的方法,在服务提供者中,常见类似的写法,第一个参数传标识,第二个参数传闭包但是在 bootstrap/app.php 中有三行代码是这么写的,第一个参数传了一个契约(接口),第二个参数传了一个具体类问:为什么要这么写呢? 答:为了在依赖注入时,实现解耦举个例子:如果需要在控制器中调用自己写的工具类,比如处理字符串的,如何调...原创 2019-10-31 15:27:30 · 853 阅读 · 2 评论 -
laravel 创建服务
比如要创建一些自定义工具的服务类,下面的文件夹名称和文件名称都是自定义的,根据自己需求来1,在 app 文件夹下创建一个Tools文件夹2,在Tools创建一个用来处理字符串的工具类 StringTools,如下图3,在 app/Providers/AppServiceProvider.php 文件的register方法中注册就可以了,如下图4,在控制器中,可以通过app助...原创 2019-10-31 12:01:00 · 1364 阅读 · 0 评论 -
laravel 的核心设计思想之契约
契约契约是对laravel服务(组件)的一种规则,约束具体是怎么约束的呢?在vendor/laravel/framework/src/Illuminate/Contracts 目录下,有对应服务的文件夹,里面是一组接口文件接口文件中定义了对应的服务需要什么方法,传入什么样的参数在服务类提供服务的时候,要实现这些接口为什么要用接口当做契约,而不是用抽象类呢?契约...原创 2019-10-30 18:08:21 · 209 阅读 · 0 评论 -
laravel 的核心设计思想之门面
门面个人理解就是方便调用服务(组件)的一种方式官方叫Facades,翻译过来就是门面,感觉这个词不太合适,但是好像又没有其他更合适的叫法举个例子在注册路由的时候,是这么写的Route::get('/',function(){ echo 'hello';});实际上,上面的写法是对下面这种写法的简化,为了优雅~,不知道下面代码啥意思的看这里app('rout...原创 2019-10-30 14:23:40 · 576 阅读 · 0 评论 -
laravel 的核心设计思想之服务容器
服务容器就是普通的ioc容器,因为是用来管理服务(组件)的,所以叫服务容器这个服务容器在哪?容器类的具体路径 vendor/laravel/framework/src/Illuminate/Container/Container.php如何把服务绑定到这个容器?容器类有个 bind 方法,可以把服务绑定到容器类的 bindings 属性,这是个大数组容器类中还有个sin...原创 2019-10-30 12:05:46 · 237 阅读 · 0 评论 -
laravel 的核心设计思想之服务提供者
服务提供者服务提供者,服务提供器都是指一个东西:把服务提供给laravel的服务容器的类每个服务提供者都会继承 Illuminate\Support\ServiceProvider 抽象类,在register方法中,注册服务对象实例到服务容器那么什么是服务呢?服务就是laravel中的组件,也叫服务组件.是可以拆分出去使用的功能.和从composer的库中引入一样在lara...原创 2019-10-30 11:38:30 · 264 阅读 · 0 评论 -
laravel 访问public,resource,storage目录下的文件
1,创建一个用来访问文件的路由,例如在 routes/web.phpRoute::get("storage/{file_name}","FileController@browse");2,在对应的控制器方法中返回文件class FileController extends Controller{ function browse($file_name){ ...原创 2019-10-21 17:55:02 · 13163 阅读 · 0 评论