1.3 手动构建Laravel框架
一步步搭建一个类似于Laravel的服务器端程序框架,该框架包含服务器端程序中的MVC(模型、视图和控制)三个组成部分,可以实现服务器端程序中的路由、控制器、数据库操作及视图模板等主要功能。构建过程分为项目初始化、路由组件添加、控制器模块添加、模型组件添加和视图组件添加五个步骤。
项目初始化:起名为lara。
$ mkdir lara
$ vi composer.json
{
"require": {
}
}
$ composer update //会自动生成自动加载文件
添加路由组件: https://packagist.org官网
{
"require": {
"illuminate/routing":"*",
"illuminate/events":"*"
}
}
$ composer update
首先添加两个文件,一个是路由文件,另一个是服务器端程序入口文件。
$ mkdir app //主要存储项目开发的文件
$ mkdir app/Http //用于存储处理HTTP请求的文件
$ subl app/Http/routes.php //所要创建的路由文件
$ mkdir public //用于存放项目的公共文件
$ subl public/index.php //自动加载函数的添加、服务容器实例化与服务注册、路由加载、请求实例化与路由分发、响应生成与发送。
http://127.0.0.1:10000/
添加控制器模块:在实际项目中请求的处理往往比较复杂,如果将处理函数写在路由文件中会显得混乱,也不容易管理,因此会将路由的处理部分单独用控制器类来实现。其实,在添加路由组件时已经添加了基本控制类,即Illuminate/Routing/Controller类。
$ mkdir app/Http/Controllers
$ subl app/Http/Controllers/WelcomeController.php
添加模型组件:主要实现数据处理功能,使用“illuminate/database”组件来完成。提供了两种操作数据库的方式,一种是查询构造器方式,另一种是Eloquent ORM方式。
完成以下五步工作,分别是创建数据库、添加数据库配置信息、启动Eloquent ORM模块、创建model类和通过model类操作数据库。
$ subl app/Models/Student.php
添加视图组件:使用"illuminate/view“,该组件可以将视图以模板方式创建,在其他视图中可以调用、继承已经创建的模板,并通过模板语法使得视图设计更加简单、规范、高效。
视图组件的使用需要完成以下四个工作:一是添加视图模板文件和编译文件的存储路径;二是对视图进行相关配置和服务注册;三是使用视图文件;四是创建视图模板文件。
1.4 Laravel安装
https://laravel.com/
$ composer create-project laravel/laravel --prefer-dist //安装一个全新的Laravel框架到当前文件夹下
$ chmod -R 777 storage
本地域名解析:
$ vim /etc/apache/apache2.conf来修改apache的配置文件。
配置站点信息:
$ vi /etc/apache2/sites-available/000-default.conf
1.5 PHP语法
在Laravel框架中使用大量的PHP新语法,包括命名空间、匿名函数、反射机制、后期静态绑定等,才使得Laravel框架显得简洁而易扩展。
命名空间:namespace App\Http;
文件包含:include和require关键字
匿名函数:也叫闭包函数,即一个没有指定名称的函数,经常用做回调函数参数的值。
PHP中的特殊语法:魔术方法和魔术常量的主要目的是提供对PHP运行环境和过程的控制和检测。
反射:主要用来动态地获取系统中类、实例对象、方法等语言构件的信息,通过发射API函数可以实现对这些语言构件信息的动态获取和动态操作等。
后期静态绑定:用于在继承范围内引用静态调用的类,即在类的继承过程中,使用的类不再是当前类,而是调用的类。
1.6 HTTP基础
参考HTTP 1.1协议
请求行
状态行
首部字段:通常由字段名和字段值构成,中间通过”:“分隔。