前沿
明天咱们来看看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()
办法 将服务名称为 config
和Fluent
类的实例过程绑定。compiled
代表编译文件门路paths
代表视图模版文件门路
最初咱们配置好nginx
服务器 拜访 127.0.0.1/welcome
就能够看到后果了,别忘记数据库信息配置本人服务器的。
致谢
大家能够本人入手感触下,残缺代码地址 https://github.com/H-pinke/Laravel_MVC
代码仓库地址
感激你看完这篇文章,有什么不对的中央欢送指出,谢谢????