打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
laravel框架
userphoto

2018.09.25

关注

一、       简介

1.     MVC框架

1)     PHP应用程序的开发形式

A.     直接使用PHP语言进行面向过程的网页开发

B.     使用面向对象形式

C.     使用MVC框架 极大的提高生产力

2)     MVC框架基本思想

A.     把应用程序强制性的划分成三部分

a)     模型层

b)     视图层

c)     控制器层

3)     常用的MVC框架

A.     TP

B.     COdeIgniter

C.     laravel

D.    symfony

E.     zend framwork

F.     YII

二、       laravel准备工作

1.     PHP开发程序

2.     php_fig

1)     官方网站:http://www.php-fig.org/

2)     作用:制定一系列PHP开发规范,是未来PHP框架所需要遵循的规范

3)     包含的内容

A.     PSR-0

B.     PSR-1

C.     PSR-2

D.    PSR-3

E.     PSR-4

3.     composer

1)     官方网站:http://getcomposer.org/

2)     安装

A.     php环境要求:php5.4以上

B.     php扩展支持:openssl扩展

C.     php.exe文件路径

3)     使用

A.     通过命令下载资源

a)     require 直接下载依赖库,同时把依赖库配置信息写入到composer.json文件中

b)     install 直接按照composer.json配置文件指明,下载依赖库

B.     借助配置文件下载资源

a)     require配置项

1.     "库完整名称":"版本号"

C.     使用下载到的资源

a)     下载到的外部库,会自动位于当前目录下的vender目录中

b)     使用下载资源时,直接在应用程序入口文件中,引入'vender/autoload.php'文件,就可以直接使用外部库和命名空间

4.     参考网站

1)     http://laravel.com/

2)     http://www.golaravel.com/

3)     http://laravel-china.org/

4)     https://github.com

5)     http://stackoverflow.com/

6)     http://baigoogledu.com/

三、       安装laravel

1.     命令:composercreate-project laravel/laravel --prefer-dist

2.     laravel/laravellaravel/framwork

1)     laravel/laravellaravel框架的示例程序,已经包含laravel框架源代码和其他的外部库

2)     laravel/framwork:仅仅laravel框架源码

3.     目录结构

1)     app目录:应用目录

2)     config:配置文件

3)     database目录:数据库迁移migrate'

4)     public:入口文件|静态资源文件

5)     resource:视图文件

6)     vendor:外部库(包含laravel框架源码)

7)     .envlaravel框架配置

4.     运行第一个laravel程序

1)     直接运行:通过url访问public目录

2)     配置虚拟主机:phpstudy配置

A.     站点管理器

B.     监听端口号配置

四、       数据库迁移

1.     数据库迁移简介

1)     migrate简介

A.     方便团队开发,一次更改,团队成员都会受到影响

B.     直接使用PHP代码,而不是使用sql语句来操作数据库

2)     命令:php artisan migrate

3)     删除自带的用户认证模块:php artisanfresh

4)     配置数据库账号信息:.env文件

2.     创建msg数据表

1)     创建数据库文件

A.     目录:database\migrations

B.     ___时分秒_create_表名_table.php

2)     migrate

3.     参考网站:

1)     www.cnblogs.com/huangbx/p/laravel_3.html

2)     laravel-china.org/docs/5.0/migrations

3)     segmentfault.com/a/1190000002584573

五、       数据库填充

1.     创建模型类

1)     一个数据库模型类对应一个数据表

2)     目录:app/目录下直接创建

3)     文件名:表名.php

A.     表名首字母大写,并且去掉s后缀

B.     比如msgs数据表,所对应的模型文件为Msg.php

4)     模型类结构:类名 extends Model

2.     数据填充

1)     数据填充文件

A.     位置:database/seeds/

B.     文件名:表名TableSeeder.php

C.     数据填充文件基本结构 类名 extendsSeeder

2)     执行数据库填充命令

A.     databaseSeeder中调用

B.     php artisan db:seed

C.     可能会出现问题

a)     引入类完成命名空间名

b)     使用composer命令 composer dump-autoload

六、       路由功能

1.     应用程序目录结构

1)     app目录:应用程序核心目录

A.     http目录:控制器文件目录,路由文件目录

B.     模型文件:默认情况下在app/

2)     config目录:应用程序配置文件目录

A.     .env配置文件:给出最常用的配置,这些配置会被config目录中的配置文件调用

3)     database:数据库迁移

4)     public:应用程序入口文件,静态资源等(js.css.图片等)

5)     resource:视图文件目录

6)     storage:应用程序动态生成日志缓存生成视图文件等目录

2.     路由功能使用

1)     作用:把用户的http请求交给指定的控制器或者功能来处理它

2)     路由三种常见形式

A.     直接http请求类型路由

a)     Route::get('url信息','处理的逻辑地址或功能代码')

b)     Route::put('url信息','处理的逻辑地址或功能代码')

c)     Route::post('url信息','处理的逻辑地址或功能代码')

d)     Route::delete('url信息','处理的逻辑地址或功能代码')

B.     Resource路由 restful路由

a)     Route::resource('url信息','处理的逻辑地址或功能代码')

C.     Controller控制器路由

a)     Route::controller('url信息','控制器名称')

3)     路由的处理

A.     把路由的处理交给控制器的某个动作处理

B.     直接处理路由(闭包函数)

4)     路由参数

A.     Route::get('view|{id?}',function($id){

a)     return 'msg/view/'.$id;

B.     })

3.     参考网站

1)     http://www.golaravel.com/laravel/docs/5.0/routing

七、       控制器

1.     创建控制器类

1)     手工创建

A.     目录:app/http/controllers/

B.     文件名:控制器名Controller

C.     需要继承laravel框架控制器

2)     artisan命令行创建:php artisan make:controller 控制器名

A.     要使用artisan命令时必须在laravel根目录下进行

3)     说明:标准restful形式URL

A.     index()

B.     create()

C.     store()

D.    show()

E.     edit()

F.     update()

G.    destroy()

2.     控制器和路由  

1)     为控制器绑定路由时,可以直接使用http请求形式的路由 

A.     每一个url绑定到某一个动作上

B.     Route::get('view|{id?}',MsgController@index)

2)     RESTful形式的路由(只支持7中动作)

A.     Route::resource('msg',MsgController)

3)     隐式控制器路由

A.     Route::controller('msg',MsgController)

B.     控制器中需要get方法名

a)     getIndex()---/index

八、       视图

1.     控制器中加载视图

1)     直接使用return '字符串';返回

2)     在控制器中返回视图文件

A.     return view('视图文件名')

B.     注意:视图文件默认位于resource/view

2.     控制器传递数据给视图

1)     传统形式:view('视图文件')->with('k','v')

2)     魔术形式:view('视图文件')->withName('v')

3.     blade模板

1)     视图文件可以是php原生代码文件,也可以使用laravel自带的blade模板

2)     blade模板

A.     命名:文件名.blade.php

B.     支持layout布局、原生php代码、blade标签等{{}}

C.     layout布局

a)     @yield

b)     @extends @endextends

c)     @section

d)     @foreach @endforeach

九、       留言板示例

1.     控制器中创建动作

1)     动作和路由要有绑定

2)     读取数据、显示视图(把数据传递给视图)

2.     定制路由:基本http请求

3.     创建视图文件

1)     视图文件

2)     视图文件中实现控制结构:循环、选择

4.     从数据库中读取数据

1)     模型类基本结构

2)     如何获取所有数据

A.     获取到的数据我们可以使用foreach循环结构依次处理每一个对象

5.     添加留言

1)     CSRF保护 

A.     <input type="hidden"name='_token' value="{{ csrf_token() }}">

2)     接收表单数据

A.     路由问题

a)     当前动作只需要视图,可以直接使用闭包形式,其他使用控制器动作形式

B.     使用request::input()接收数据

3)     重定向

A.     redirect('url') 

B.     redirect()->route('路由名称')

6.     删除留言

1)     模型类::destroy(主键)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
laravel框架简介
【目录】Laravel 应用程序的体系结构
安装 |《Laravel 6 中文文档》| Laravel China 社区
Laravel框架添加自定义类的方法
PHP php Laravel 框架之建立后台文件夹
最好的 PHP 框架是什么?为什么?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服