问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

laravel框架手册?

发布网友 发布时间:2024-09-26 20:28

我来回答

1个回答

热心网友 时间:2024-10-04 10:05

laravel框架用request:file接不到文件怎么解决

亲,上传文件请参考手册:

取得上传文件

$file=Request::file('photo');

确认文件是否有上传

if(Request::hasFile('photo'))

{

//

}

file方法返回的对象是Symfony\Component\HttpFoundation\File\UploadedFile的实例,UploadedFile继承了PHP的SplFileInfo类并且提供了很多和文件交互的方法。

确认上传的文件是否有效

if(Request::file('photo')-isValid())

{

//

}

移动上传的文件

Request::file('photo')-move($destinationPath);

Request::file('photo')-move($destinationPath,$fileName);

希望对你有帮助!~~

如何安装Laravel框架

通过Laravel安装器安装

1

先下载Laravel安装器PHAR文件。为了方便起见,将该文件重命名为laravel并移动至/usr/local/bin目录。完成后,只需在你指定的目录下输入简单的laravelnew命令即可创建一个全新的Laravel安装。例如,laravelnewblog将创建一个名为blog的目录,该目录中包含了一份全新的Laravel安装以及所需的依赖项。这种安装方法比通过Composer安装要快许多

通过Composercreate-project命令安装Lar

1

还可以通过在命令行执行Composercreate-project命令来安装Laravel:

composercreate-projectlaravel/laravel--prefer-dist

通过下载Laravel包安装

1

Composer安装完成后,下载最新版Laravel框架,把它解压缩到你服务器上的一个目录中。然后在Laravel应用的根目录下运行命令行命令phpcomposer.pharinstall(或者composerinstall)来安装所有的框架依赖包。在此过程中,为了成功完成安装,你需要在服务器上安装好Git。

当Laravel框架安装好后,你可以使用命令行命令phpcomposer.pharupdate来更新框架。

END

服务器环境要求

1

Laravel框架有一些系统要求:

PHP最低版本:5.3.7MCryptPHP扩展

从PHP5.5版本开始,针对某些操作系统的安装包需要你自己手工安装PHP的JSON扩展模块。如果你使用的是Ubuntu,可以通过,apt-getinstallphp5-json命令直接安装。

配置

Laravel框架几乎无需配置就可立即使用。你可以自由地快速开始开发。然而,你也许希望先查看下app/config/app.php配置文件和相关的文档说明。它包含了一些你也许要修改的配置选项,如时区和地区等。

权限设置

Laravel框架有一个目录需要额外设置权限:需要为app/storage目录下的文件设置写权限。

路径设置

一些框架目录路径是可以设置的。如果需要改变这些目录的位置,可以查看bootstrap/paths.php文件中的设置。

Laravel框架通过设置public/.htaccess文件去除链接中的index.php。如果你你的服务器使用的是Apache,请开启mod_rewrite模块。

laravel框架各文件作用是什么?之间什么关系?

文件的文件夹

作用

/app/config/

配置应用程序的运行时规则、数据库、session等等。包含大量的用来更改框架的各个方面的配置文件。大部分的配置文件中返回的选项关联PHP数组。

/app/config/app.php

各种应用程序级设置,即时区、区域设置(语言环境)、调试模式和独特的加密密钥。

/app/config/auth.php

控制在应用程序中如何进行身份验证,即身份验证驱动程序。

/app/config/cache.php

如果应用程序利用缓存来加快响应时间,要在此配置该功能。

/app/config/compile.php

在此处可以指定一些额外类,去包含由‘artisanoptimize’命令声称的编译文件。这些应该是被包括在基本上每个请求到应用程序中的类。

/app/config/database.php

包含数据库的相关配置信息,即默认数据库引擎和连接信息。

/app/config/mail.php

为电子邮件发件引擎的配置文件,即SMTP服务器,From:标头

/app/config/session.php

控制Laravel怎样管理用户sessions,即sessiondriver,sessionlifetime。

/app/config/view.php

模板系统的杂项配置。

/app/controllers

包含用于提供基本的逻辑、数据模型交互以及加载应用程序的视图文件的控制器类。

/app/database/migrations/

包含一些PHP类,允许Laravel更新当前数据库的架构并同时保持所有版本的数据库的同步。迁移文件是使用Artisan工具生成的。

/app/database/seeds/

包含允许Artisan工具用关系数据来填充数据库表的PHP文件。

/app/lang/

PHP文件,其中包含使应用程序易于本地化的字符串的数组。默认情况下目录包含英语语言的分页和表单验证的语言行。

/app/models/

模型是代表应用程序的信息(数据)和操作数据的规则的一些类。在大多数情况下,数据库中的每个表将对应应用中的一个模型。应用程序业务逻辑的大部分将集中在模型中。

/app/start/

包含与Artisan工具以及全球和本地上下文相关的自定义设置。

/app/storage/

该目录存储Laravel各种服务的临时文件,如session,cache,compiledviewtemplates。这个目录在web服务器上必须是可以写入的。该目录由Laravel维护,我们可以不关心。

/app/tests/

该文件夹给你提供了一个方便的位置,用来做单元测试。如果你使用PHPUnit,你可以使用Artisan工具一次执行所有的测试。

/app/views/

该文件夹包含了控制器或者路由使用的HTML模版。请注意,这个文件夹下你只能放置模版文件。其他的静态资源文件如css,javascript和images文件应该放在/public文件夹下。

/app/routes.php

这是您的应用程序的路由文件,其中包含路由规则,告诉Laravel如何将传入的请求连接到路由处理的闭包函数、控制器和操作。该文件还包含几个事件声明,包括错误页的,可以用于定义视图的composers。

/app/filters.php

此文件包含各种应用程序和路由筛选方法,用来改变您的应用程序的结果。Laravel具有访问控制和XSS保护的一些预定义筛选器。

花了很多心思在建立和命名文件夹上,得到的就是一个具有良好的文件系统的应用程序。

在这里你得到了什么:MVC

什么是Laravel?

它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。1、Bundle是Laravel的扩展包组织形式或称呼。Laravel的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中。你可以选择下载一个扩展包(bundle)然后拷贝到bundles目录,或者通过命令行工具“Artisan”自动安装。2、在Laravel中已经具有了一套高级的PHPActiveRecord实现--EloquentORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。3、应用逻辑(ApplicationLogic)可以在控制器(controllers)中实现,也可以直接集成到路由(route)声明中,并且语法和Sinatra框架类似。Laravel的设计理念是:给开发者以最大的灵活性,既能创建非常小的网站也能构建大型的企业应用。4、反向路由(ReverseRouting)赋予你通过路由(routes)名称创建链接(URI)的能力。只需使用路由名称(routename),Laravel就会自动帮你创建正确的URI。这样你就可以随时改变你的路由(routes),Laravel会帮你自动更新所有相关的链接。5、Restful控制器(RestfulControllers)是一项区分GET和POST请求逻辑的可选方式。比如在一个用户登陆逻辑中,你声明了一个get_login()的动作(action)来处理获取登陆页面的服务;同时也声明了一个post_login()动作(action)来校验表单POST过来的数据,并且在验证之后,做出重新转向(redirect)到登陆页面还是转向控制台的决定。6、自动加载类(ClassAuto-loading)简化了类(class)的加载工作,以后就可以不用去维护自动加载配置表和非必须的组件加载工作了。当你想加载任何库(library)或模型(model)时,立即使用就行了,Laravel会自动帮你加载需要的文件。7、视图组装器(ViewComposers)本质上就是一段代码,这段代码在视图(View)加载时会自动执行。最好的例子就是博客中的侧边随机文章推荐,“视图组装器”中包含了加载随机文章推荐的逻辑,这样,你只需要加载内容区域的视图(view)就行了,其它的事情Laravel会帮你自动完成。8、反向控制容器(IoCcontainer)提供了生成新对象、随时实例化对象、访问单例(singleton)对象的便捷方式。反向控制(IoC)意味着你几乎不需要特意去加载外部的库(libraries),就可以在代码中的任意位置访问这些对象,并且不需要忍受繁杂、冗余的代码结构。9、迁移(Migrations)就像是版本控制(versioncontrol)工具,不过,它管理的是数据库范式,并且直接集成在了Laravel中。你可以使用“Artisan”命令行工具生成、执行“迁移”指令。当你的小组成员改变了数据库范式的时候,你就可以轻松的通过版本控制工具更新当前工程,然后执行“迁移指令即可,好了,你的数据库已经是最新的了!11、自动分页(AutomaticPagination)功能避免了在你的业务逻辑中混入大量无关分页配置代码。方便的是不需要记住当前页,只要从数据库中获取总的条目数量,然后使用limit/offset获取选定的数据,最后调用‘paginate’方法,让Laravel将各页链接输出到指定的视图(View)中即可,Laravel会替你自动完成所有工作。Laravel的自动分页系统被设计为容易实现、易于修改。

如何使用laravel搭建后台登录系统

首先确认,后台的用户表,设计表叫做badmin,每个管理员有用户名(username),有昵称(nickname),有邮箱(email),有密码(password)

这里玩个花,使用laravel的migration来建立表(实际上可以用不着使用这个工具建立表)

1安装好最基本的laravel框架

2创建migration文件:

./artisanmigrate:makecreate-badmin-table

3发现app/database/migration/下面多了一个php文件:

2014_10_19_090336_create-badmin-table.php

4往up和down里面增加内容;

?php

useIlluminate\Database\Schema\Blueprint;

useIlluminate\Database\Migrations\Migration;

classCreateBadminTableextendsMigration{

/**

*Runthemigrations.

*

*@returnvoid

*/

publicfunctionup()

{

Schema::create('badmin',function($table)

{

$table-increments('id');

$table-string('nickname',100)-unique();

$table-string('username',100)-unique();

$table-string('email',100)-unique();

$table-string('password',64);

$table-timestamps();

});

}

/**

*Reversethemigrations.

*

*@returnvoid

*/

publicfunctiondown()

{

Schema::drop('badmin');

}

}

5配置好local的database,app/config/local/database.php

?php

returnarray(

'fetch'=PDO::FETCH_CLASS,

'default'='mysql',

'connections'=array(

'mysql'=array(

'driver'='mysql',

'host'='localhost',

'database'=’test',

'username'='yejianfeng',

'password'='123456',

'charset'='utf8',

'collation'='utf8_unicode_ci',

'prefix'='',

),

),

'migrations'='migrations',

);

6创建数据表:

./artisanmigrate--env=local

这个时候去数据库看,就发现多了一张badmin表,数据结构如下:

CREATETABLE`badmin`(

`id`int(10)unsignedNOTNULLAUTO_INCREMENT,

`nickname`varchar(100)COLLATEutf8_unicode_ciNOTNULL,

`username`varchar(100)COLLATEutf8_unicode_ciNOTNULL,

`email`varchar(100)COLLATEutf8_unicode_ciNOTNULL,

`password`varchar(64)COLLATEutf8_unicode_ciNOTNULL,

`created_at`timestampNOTNULLDEFAULT'0000-00-0000:00:00',

`updated_at`timestampNOTNULLDEFAULT'0000-00-0000:00:00',

PRIMARYKEY(`id`),

UNIQUEKEY`badmin_nickname_unique`(`nickname`),

UNIQUEKEY`badmin_username_unique`(`username`),

UNIQUEKEY`badmin_email_unique`(`email`)

)ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8COLLATE=utf8_unicode_ci;

要问这里为什么多出了create_at和update_at,这是laravel默认为每个表创建的字段,而且在使用Eloquent进行增删改查的时候能自动更新这两个字段

7创建个Model:

?php

useIlluminate\Auth\UserTrait;

useIlluminate\Auth\UserInterface;

useIlluminate\Auth\Reminders\RemindableTrait;

useIlluminate\Auth\Reminders\RemindableInterface;

classBadminextendsEloquentimplementsUserInterface,RemindableInterface{

useUserTrait,RemindableTrait;

protected$table='badmin';

protected$hidden=array('password');

publicstatic$rules=[

'nickname'='required|alpha_num|min:2',

'username'='required',

'email'='required|email|unique:badmin',

'password'='required|alpha_num|between:6,12|confirmed',

];

}

这里必须要implementsUserInterface和RemindableInterface

8把model和Auth关联上,修改app/config/auth.php

?php

returnarray(

//默认的用户验证驱动

//可以是database或者eloquent

'driver'='eloquent',

//只有驱动为eloquent的时候才有用

'model'='Badmin',

);

这里的driver可以是eloquent或者database,使用eloquent就告诉Auth组件说,用户认证类是Badmin这个类管的。这里的model是有命名空间的,就是说如果你的admin类是\Yejianfeng\Badmin,这里就应该改成’\Yejianfeng\Badmin’

9好了,这个时间其实逻辑部分已经搭建完毕了,你已经可以在controller种使用

Auth::attempt(XXX)做权限认证

Auth::user()获取登录用户(一个Badmin类)

等。

10下面要建立一个用户登录页面:

11设置路由:

?php

//不需要登录验证的接口

Route::get('/',['as'='user.login','uses'='UserController@getLogin']);

Route::get('user/login',['as'='login','uses'='UserController@getLogin']);

Route::post('user/login',['as'='login','uses'='UserController@postLogin']);

//需要登录验证才能操作的接口

Route::group(array('before'='auth'),function()

{

Route::get('user/logout',['as'='logout','uses'='UserController@getLogout']);

Route::get('user/dashboard',['as'='dashboard','uses'='UserController@getDashboard']);

});

12设置controller:

?php

classUserControllerextendsBaseController{

//登录页面

publicfunctiongetLogin()

{

returnView::make('user.login');

}

//登录操作

publicfunctionpostLogin()

{

if(Auth::attempt(array('email'=Input::get('email'),'password'=Input::get('password')))){

returnRedirect::to('user/dashboard')

-with('message','成功登录');

}else{

returnRedirect::to('user/login')

-with('message','用户名密码不正确')

-withInput();

}

}

//登出

publicfunctiongetLogout()

{

Auth::logout();

returnRedirect::to('user/login');

}

publ

热心网友 时间:2024-10-04 10:10

laravel框架用request:file接不到文件怎么解决

亲,上传文件请参考手册:

取得上传文件

$file=Request::file('photo');

确认文件是否有上传

if(Request::hasFile('photo'))

{

//

}

file方法返回的对象是Symfony\Component\HttpFoundation\File\UploadedFile的实例,UploadedFile继承了PHP的SplFileInfo类并且提供了很多和文件交互的方法。

确认上传的文件是否有效

if(Request::file('photo')-isValid())

{

//

}

移动上传的文件

Request::file('photo')-move($destinationPath);

Request::file('photo')-move($destinationPath,$fileName);

希望对你有帮助!~~

如何安装Laravel框架

通过Laravel安装器安装

1

先下载Laravel安装器PHAR文件。为了方便起见,将该文件重命名为laravel并移动至/usr/local/bin目录。完成后,只需在你指定的目录下输入简单的laravelnew命令即可创建一个全新的Laravel安装。例如,laravelnewblog将创建一个名为blog的目录,该目录中包含了一份全新的Laravel安装以及所需的依赖项。这种安装方法比通过Composer安装要快许多

通过Composercreate-project命令安装Lar

1

还可以通过在命令行执行Composercreate-project命令来安装Laravel:

composercreate-projectlaravel/laravel--prefer-dist

通过下载Laravel包安装

1

Composer安装完成后,下载最新版Laravel框架,把它解压缩到你服务器上的一个目录中。然后在Laravel应用的根目录下运行命令行命令phpcomposer.pharinstall(或者composerinstall)来安装所有的框架依赖包。在此过程中,为了成功完成安装,你需要在服务器上安装好Git。

当Laravel框架安装好后,你可以使用命令行命令phpcomposer.pharupdate来更新框架。

END

服务器环境要求

1

Laravel框架有一些系统要求:

PHP最低版本:5.3.7MCryptPHP扩展

从PHP5.5版本开始,针对某些操作系统的安装包需要你自己手工安装PHP的JSON扩展模块。如果你使用的是Ubuntu,可以通过,apt-getinstallphp5-json命令直接安装。

配置

Laravel框架几乎无需配置就可立即使用。你可以自由地快速开始开发。然而,你也许希望先查看下app/config/app.php配置文件和相关的文档说明。它包含了一些你也许要修改的配置选项,如时区和地区等。

权限设置

Laravel框架有一个目录需要额外设置权限:需要为app/storage目录下的文件设置写权限。

路径设置

一些框架目录路径是可以设置的。如果需要改变这些目录的位置,可以查看bootstrap/paths.php文件中的设置。

Laravel框架通过设置public/.htaccess文件去除链接中的index.php。如果你你的服务器使用的是Apache,请开启mod_rewrite模块。

laravel框架各文件作用是什么?之间什么关系?

文件的文件夹

作用

/app/config/

配置应用程序的运行时规则、数据库、session等等。包含大量的用来更改框架的各个方面的配置文件。大部分的配置文件中返回的选项关联PHP数组。

/app/config/app.php

各种应用程序级设置,即时区、区域设置(语言环境)、调试模式和独特的加密密钥。

/app/config/auth.php

控制在应用程序中如何进行身份验证,即身份验证驱动程序。

/app/config/cache.php

如果应用程序利用缓存来加快响应时间,要在此配置该功能。

/app/config/compile.php

在此处可以指定一些额外类,去包含由‘artisanoptimize’命令声称的编译文件。这些应该是被包括在基本上每个请求到应用程序中的类。

/app/config/database.php

包含数据库的相关配置信息,即默认数据库引擎和连接信息。

/app/config/mail.php

为电子邮件发件引擎的配置文件,即SMTP服务器,From:标头

/app/config/session.php

控制Laravel怎样管理用户sessions,即sessiondriver,sessionlifetime。

/app/config/view.php

模板系统的杂项配置。

/app/controllers

包含用于提供基本的逻辑、数据模型交互以及加载应用程序的视图文件的控制器类。

/app/database/migrations/

包含一些PHP类,允许Laravel更新当前数据库的架构并同时保持所有版本的数据库的同步。迁移文件是使用Artisan工具生成的。

/app/database/seeds/

包含允许Artisan工具用关系数据来填充数据库表的PHP文件。

/app/lang/

PHP文件,其中包含使应用程序易于本地化的字符串的数组。默认情况下目录包含英语语言的分页和表单验证的语言行。

/app/models/

模型是代表应用程序的信息(数据)和操作数据的规则的一些类。在大多数情况下,数据库中的每个表将对应应用中的一个模型。应用程序业务逻辑的大部分将集中在模型中。

/app/start/

包含与Artisan工具以及全球和本地上下文相关的自定义设置。

/app/storage/

该目录存储Laravel各种服务的临时文件,如session,cache,compiledviewtemplates。这个目录在web服务器上必须是可以写入的。该目录由Laravel维护,我们可以不关心。

/app/tests/

该文件夹给你提供了一个方便的位置,用来做单元测试。如果你使用PHPUnit,你可以使用Artisan工具一次执行所有的测试。

/app/views/

该文件夹包含了控制器或者路由使用的HTML模版。请注意,这个文件夹下你只能放置模版文件。其他的静态资源文件如css,javascript和images文件应该放在/public文件夹下。

/app/routes.php

这是您的应用程序的路由文件,其中包含路由规则,告诉Laravel如何将传入的请求连接到路由处理的闭包函数、控制器和操作。该文件还包含几个事件声明,包括错误页的,可以用于定义视图的composers。

/app/filters.php

此文件包含各种应用程序和路由筛选方法,用来改变您的应用程序的结果。Laravel具有访问控制和XSS保护的一些预定义筛选器。

花了很多心思在建立和命名文件夹上,得到的就是一个具有良好的文件系统的应用程序。

在这里你得到了什么:MVC

什么是Laravel?

它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。1、Bundle是Laravel的扩展包组织形式或称呼。Laravel的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中。你可以选择下载一个扩展包(bundle)然后拷贝到bundles目录,或者通过命令行工具“Artisan”自动安装。2、在Laravel中已经具有了一套高级的PHPActiveRecord实现--EloquentORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。3、应用逻辑(ApplicationLogic)可以在控制器(controllers)中实现,也可以直接集成到路由(route)声明中,并且语法和Sinatra框架类似。Laravel的设计理念是:给开发者以最大的灵活性,既能创建非常小的网站也能构建大型的企业应用。4、反向路由(ReverseRouting)赋予你通过路由(routes)名称创建链接(URI)的能力。只需使用路由名称(routename),Laravel就会自动帮你创建正确的URI。这样你就可以随时改变你的路由(routes),Laravel会帮你自动更新所有相关的链接。5、Restful控制器(RestfulControllers)是一项区分GET和POST请求逻辑的可选方式。比如在一个用户登陆逻辑中,你声明了一个get_login()的动作(action)来处理获取登陆页面的服务;同时也声明了一个post_login()动作(action)来校验表单POST过来的数据,并且在验证之后,做出重新转向(redirect)到登陆页面还是转向控制台的决定。6、自动加载类(ClassAuto-loading)简化了类(class)的加载工作,以后就可以不用去维护自动加载配置表和非必须的组件加载工作了。当你想加载任何库(library)或模型(model)时,立即使用就行了,Laravel会自动帮你加载需要的文件。7、视图组装器(ViewComposers)本质上就是一段代码,这段代码在视图(View)加载时会自动执行。最好的例子就是博客中的侧边随机文章推荐,“视图组装器”中包含了加载随机文章推荐的逻辑,这样,你只需要加载内容区域的视图(view)就行了,其它的事情Laravel会帮你自动完成。8、反向控制容器(IoCcontainer)提供了生成新对象、随时实例化对象、访问单例(singleton)对象的便捷方式。反向控制(IoC)意味着你几乎不需要特意去加载外部的库(libraries),就可以在代码中的任意位置访问这些对象,并且不需要忍受繁杂、冗余的代码结构。9、迁移(Migrations)就像是版本控制(versioncontrol)工具,不过,它管理的是数据库范式,并且直接集成在了Laravel中。你可以使用“Artisan”命令行工具生成、执行“迁移”指令。当你的小组成员改变了数据库范式的时候,你就可以轻松的通过版本控制工具更新当前工程,然后执行“迁移指令即可,好了,你的数据库已经是最新的了!11、自动分页(AutomaticPagination)功能避免了在你的业务逻辑中混入大量无关分页配置代码。方便的是不需要记住当前页,只要从数据库中获取总的条目数量,然后使用limit/offset获取选定的数据,最后调用‘paginate’方法,让Laravel将各页链接输出到指定的视图(View)中即可,Laravel会替你自动完成所有工作。Laravel的自动分页系统被设计为容易实现、易于修改。

如何使用laravel搭建后台登录系统

首先确认,后台的用户表,设计表叫做badmin,每个管理员有用户名(username),有昵称(nickname),有邮箱(email),有密码(password)

这里玩个花,使用laravel的migration来建立表(实际上可以用不着使用这个工具建立表)

1安装好最基本的laravel框架

2创建migration文件:

./artisanmigrate:makecreate-badmin-table

3发现app/database/migration/下面多了一个php文件:

2014_10_19_090336_create-badmin-table.php

4往up和down里面增加内容;

?php

useIlluminate\Database\Schema\Blueprint;

useIlluminate\Database\Migrations\Migration;

classCreateBadminTableextendsMigration{

/**

*Runthemigrations.

*

*@returnvoid

*/

publicfunctionup()

{

Schema::create('badmin',function($table)

{

$table-increments('id');

$table-string('nickname',100)-unique();

$table-string('username',100)-unique();

$table-string('email',100)-unique();

$table-string('password',64);

$table-timestamps();

});

}

/**

*Reversethemigrations.

*

*@returnvoid

*/

publicfunctiondown()

{

Schema::drop('badmin');

}

}

5配置好local的database,app/config/local/database.php

?php

returnarray(

'fetch'=PDO::FETCH_CLASS,

'default'='mysql',

'connections'=array(

'mysql'=array(

'driver'='mysql',

'host'='localhost',

'database'=’test',

'username'='yejianfeng',

'password'='123456',

'charset'='utf8',

'collation'='utf8_unicode_ci',

'prefix'='',

),

),

'migrations'='migrations',

);

6创建数据表:

./artisanmigrate--env=local

这个时候去数据库看,就发现多了一张badmin表,数据结构如下:

CREATETABLE`badmin`(

`id`int(10)unsignedNOTNULLAUTO_INCREMENT,

`nickname`varchar(100)COLLATEutf8_unicode_ciNOTNULL,

`username`varchar(100)COLLATEutf8_unicode_ciNOTNULL,

`email`varchar(100)COLLATEutf8_unicode_ciNOTNULL,

`password`varchar(64)COLLATEutf8_unicode_ciNOTNULL,

`created_at`timestampNOTNULLDEFAULT'0000-00-0000:00:00',

`updated_at`timestampNOTNULLDEFAULT'0000-00-0000:00:00',

PRIMARYKEY(`id`),

UNIQUEKEY`badmin_nickname_unique`(`nickname`),

UNIQUEKEY`badmin_username_unique`(`username`),

UNIQUEKEY`badmin_email_unique`(`email`)

)ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8COLLATE=utf8_unicode_ci;

要问这里为什么多出了create_at和update_at,这是laravel默认为每个表创建的字段,而且在使用Eloquent进行增删改查的时候能自动更新这两个字段

7创建个Model:

?php

useIlluminate\Auth\UserTrait;

useIlluminate\Auth\UserInterface;

useIlluminate\Auth\Reminders\RemindableTrait;

useIlluminate\Auth\Reminders\RemindableInterface;

classBadminextendsEloquentimplementsUserInterface,RemindableInterface{

useUserTrait,RemindableTrait;

protected$table='badmin';

protected$hidden=array('password');

publicstatic$rules=[

'nickname'='required|alpha_num|min:2',

'username'='required',

'email'='required|email|unique:badmin',

'password'='required|alpha_num|between:6,12|confirmed',

];

}

这里必须要implementsUserInterface和RemindableInterface

8把model和Auth关联上,修改app/config/auth.php

?php

returnarray(

//默认的用户验证驱动

//可以是database或者eloquent

'driver'='eloquent',

//只有驱动为eloquent的时候才有用

'model'='Badmin',

);

这里的driver可以是eloquent或者database,使用eloquent就告诉Auth组件说,用户认证类是Badmin这个类管的。这里的model是有命名空间的,就是说如果你的admin类是\Yejianfeng\Badmin,这里就应该改成’\Yejianfeng\Badmin’

9好了,这个时间其实逻辑部分已经搭建完毕了,你已经可以在controller种使用

Auth::attempt(XXX)做权限认证

Auth::user()获取登录用户(一个Badmin类)

等。

10下面要建立一个用户登录页面:

11设置路由:

?php

//不需要登录验证的接口

Route::get('/',['as'='user.login','uses'='UserController@getLogin']);

Route::get('user/login',['as'='login','uses'='UserController@getLogin']);

Route::post('user/login',['as'='login','uses'='UserController@postLogin']);

//需要登录验证才能操作的接口

Route::group(array('before'='auth'),function()

{

Route::get('user/logout',['as'='logout','uses'='UserController@getLogout']);

Route::get('user/dashboard',['as'='dashboard','uses'='UserController@getDashboard']);

});

12设置controller:

?php

classUserControllerextendsBaseController{

//登录页面

publicfunctiongetLogin()

{

returnView::make('user.login');

}

//登录操作

publicfunctionpostLogin()

{

if(Auth::attempt(array('email'=Input::get('email'),'password'=Input::get('password')))){

returnRedirect::to('user/dashboard')

-with('message','成功登录');

}else{

returnRedirect::to('user/login')

-with('message','用户名密码不正确')

-withInput();

}

}

//登出

publicfunctiongetLogout()

{

Auth::logout();

returnRedirect::to('user/login');

}

publ

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
罗马全面战争怎么样提高元老院评价? 半夜家中镜匾忽然碎了 镜子忽然碎掉怎么解 化能异养型微生物分类 如何判断自养微生物与异养微生物 如何得知某微生物是否为哪种氨基酸的异养型微生物。 滨州市北海振宇电子科技有限责任公司怎么样? 北京振宇科技有限公司怎么样? 上海振宇化工科技有限公司经营范围 商业医保是否值得购买? 陈瑞的一首歌曲里有一段歌词是《寻找你背影》,歌曲名是什么?_百度... 除了爱奇艺PPS还有那个播放器能看二龙湖浩哥之风云再起 二龙湖浩哥之风云再起高清完整版二龙湖浩哥之风云6 二龙湖浩哥之风云再起高清完整版哪里能看 电影<二龙湖浩哥之风云再起>完整版哪里有? 东北师范大学考研报录比汇总! 东北师范大学中国语文教育研究中心研究方向 请高人取个姓沈(男孩)的名字,2011年6月19日上午11点31分生的/要高分... 沈姓有帝王气质有含义名字龙年 姓沈的男孩名字大全好听 今年出生的男孩取名 万里长城的传说孟姜女哭长城 孟姜女的故事是什么呢? 微信添加通讯录就是加上了吗 铁锅煎水煎包容易糊什么原因 做水煎包糊锅怎么办? 如何在社保局办理退休 程序员好找老婆吗 请问java程序员女生多吗?办公室是不是全是男士?女生容易找工作吗... 想找个人好好过日子咋这么难!好男人都哪里去了? 找一个真心爱自己的男人真的就那么难吗?世界上的好男人都到哪去了... 羊绒衫什么牌子好 CI_Controller继承出错呀!求各位大神看看是为什么呀! 衣尚羊绒衫怎么样,有没有买过的? 继续,速度了,天冷了,再不买又挨冻了... 从长清大学城到济南灵岩寺怎么走?学生组团去门票能折扣么?可以免费参 ... 衣尚是什么牌子 怎么坐公交去济南灵岩寺,我在长清大学城 什么叫公历什么叫农历他们有什么区别什么叫公历什么叫农历 公历是农历 什么是公历 保盈持泰的近义词 保盈持泰成语资料 持盈保泰是什么意思? 请问下剑网3是什么类型的游戏,比如说是点卡收费还是道具收费,装备是副 ... 集体证的房子拆迁怎么赔 beats是什么牌子?有哪些耳机比较好? Beats耳机怎么样?2024年beats耳机推荐哪个型号最好?(5000字选购攻略... 烛虚创作历程 beats耳机有哪几种类型啊? 寂寞一点内容简介 90除以60等于1又几分之几? 90除以17等于几右几分之几?