• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

手撸-Laravel-MVC

php 搞代码 3年前 (2022-02-28) 13次浏览 已收录 0个评论
文章目录[隐藏]

前沿

明天咱们来看看PHP的Laravel 框架,看看它的弱小

第一步

咱们来尝试下手动构建Laravel MVC

首先构建下咱们的 composer.json 文件

{
  "require" :{
    "illuminate/routing" : "*",
    "illuminate/events" : "*",
    "illuminate/database" : "*",
    "illuminate/view" : "*"
  },
  "autoload" : {
    "psr-4" : {
      "App\\" : "app/"
    }
  }
}

能够看到咱们应用了最根底的几个包,外面蕴含有路由、事件、数据库、视图等组件。

依据Laravel目录构造,还增加了PSR-4的主动加载标准,实现了命令空间到目录的映射

第二步

创立入口文件 index.php 增加如下内容

//调用主动加载函数文件,增加主动加载函数
require __DIR__ . '/../vendor/autoload.php';
//实例化服务容器
$app = new \Illuminate\Container\Container();
//注册事件,路由服务提供者
with(new \Illuminate\Events\EventServiceProvider($app))->register();
with(new \Illuminate\Routing\RoutingServiceProvider($app))->register();
//加载路由
require __DIR__ . '/../app/Http/routes.php';

//实例化申请 并散发解决申请
$request = \Illuminate\Http\Request::createFromGlobals();
$response = $app['router']->dispatch($request);

//返回申请响应
$response->send();

这里咱们能够看到 Laravel 最外围的容器,服务容器用于服务注册和解析,也就是说向服务容器注册可能实现某些性能的实例或回调函数,当须要应用该性能时从服务容器中获取相应的实例来实现。

第三步

拜访数据库, 咱们要在 config目录下增加配置文件 database.php 而后在入口增加如下内容

//启动Eloquent ORM的模块并进行相干配置
use Illuminate\Database\Capsule\Manager;

$manager = new Manager();
$manager->addConnection(require '../config/database.php');
//Eloquent ORM的模块启动
$manager->bootEloquent();

因为咱们应用 Eloquent ORM 所以须要应用到数据库治理类。 Eloquent ORM 操作数据库比较简单,分两个步骤,一是创立模型类、二是通过模型类的办法操作数据库。

第四步

最初咱们来创立视图

//服务容器实例通过instance办法将名称为 config 和 \Illuminate\Support\Fluent类进行实例绑定
//Fluent类次要是存储视图模块的配置信息
$app->instance('config', new \Illuminate\Support\Fluent);
//将模块文件和编译文件的存储门路,增加到配置实例中
$app['config']['view.compiled'] = dirname(dirname(__FILE__)) . '/storage/framework/views';
$app['config']['view.paths']    = ['../resources/views/'];

Fluent类次要是存储视图模块的配置信息,咱们通过instance() 办法 将服务名称为 configFluent类的实例过程绑定。compiled 代表编译文件门路paths 代表视图模版文件门路

最初咱们配置好nginx服务器 拜访 127.0.0.1/welcome 就能够看到后果了,别忘记数据库信息配置本人服务器的。

致谢

大家能够本人入手感触下,残缺代码地址 https://github.com/H-pinke/Laravel_MVC代码仓库地址

感激你看完这篇文章,有什么不对的中央欢送指出,谢谢????


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:手撸-Laravel-MVC

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址