Laravel是基於MVC架构设计出来的框架,
什麽是MVC(Model–View–Controller)? 简单来说就是把复杂度简化,让每个结构各别分工,大家都有特定的职责
select 'user_name' from users where 'class_name' = 'A'
有了Model後
use App\Models\User;
User::select('user_name')
->where('class_name', '=', 'A');
在这个例子当中感受到的效果可能没有很显着,但当SQL语句复杂的时候就可以深刻体会到Model带来的好处.
View: Laravel利用Blade产生html文件,用来显示肉眼所能见的到画面,在 /resources/views
目录下可以看到一个welcome_blade.php
预设档,就是我们启动docker後浏览 http://localhost, 所看到的画面
Controller: 当使用者浏览你的网站比方说http://localhost/user, 如果经过一些设定,Route会帮我们去找到UserController,这时Controller可以决定要取得什麽资料,并回传什麽 View.
虽然Laravel已经帮我们做了上述的分工,但是当专案一大,可能会有一大堆程序码都挤在Controller之类的情形发生,这边要介绍一个套件,方便我们快速规划架构
https://packagist.org/packages/yish/generators
$ sail composer require yish/generators
$ sail artisan make
Did you mean one of these?
make:presenter
make:service
make:repository
make:transformer
...
遇到的问题:Controller负责资料逻辑处理,又要负责View与Model的沟通,导致Controller太过肥大
解决方法: 把原本的架构改成这样
@inject()
,来引入Presenter,视需求加入.在之後的文章当中,我会直接用这个架构来撰写这次的专案,想对架构有更深了解的可以关注我并留意之後的文章.
参考文章
https://www.esparkinfo.com/why-laravel-is-the-best-php-framework.html
在class component上 一开始必须得在construtor上导入state判断视窗大小 ...
CRC-8-CCITT SMBus PEC /* https://en.wikipedia.org/...
或许有人会问「那我要开发 SPA 网站时,要如何跟 Grails 搭配呢?」。这个问题的答案很简单,...
引言 昨天学到的: 命令 简介 命令 --help 查看命令使用说明 今天的题目正好与 --hel...