laravel 心得
1.安装
使用composer安装laravel ,切换到你想要放置该网站的目录下,运行命令:
composer create-project laravel/larevel project 4.1
然后。当前目录就是出现project的文件夹,然后把app/storage目录设为777,输入即可看到安装成功的页面。
2.安装插件
我们一安装Sentry插件为例,来构建登陆等权限验证系统
打开./composer.json,变更为:
"require": {
"laravel/framework": "4.1.*",
"cartalyst/sentry": "2.1.4"
},
然后再项目根目录运行命令
composer update
稍等一会,就会提示cartalyst/sentry2.14安装完成
同理,我们将安装一个开发用的强大插件,way/generators,这是它在composer库中的名字。在composer.json中增加:
"require-dev": {
"way/generators": "~2.0"
},
注意和"require"同级,放在下面。
运行composer update,之后再./app/config/app.php中的恰当位置增加配置:
'Way\Generators\GeneratorsServiceProvider'
安装后,在命令行运行php artisan,就可以看到这个插件带来的许多功能。
3.数据库建立及迁移
数据的迁移migrate详细介绍,请参看laravel数据迁移的详细介绍。
数据库配置文件位于./app/config/database.php,根据自己数据录类型自行配制,下面是MySQL的例子:
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'laravel',
'username' => 'root',
'password' => 'password',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => 'l4_',
),
在命令中输入(注意:先把laravel表在数据库中创建):
php artisan migrate --package=cartalyst/sentry
执行完成后,数据库中就有5张表,这是sentry自己建立的,具体配置见 https://cartalyst.com/manual/sentry#laravel-4,
注意:安装Sentry后,需要在./app/config/app.php中相应的位置增加以下两行
'Cartalyst\Sentry\SentryServiceProvider',
'Sentry' => 'Cartalyst\Sentry\Facades\Laravel\Sentry',
我们简单的创建两个表,熟悉下命令:
php artisan migrate:make create_articles_table --create=articles
php artisan migrate:make create_pages_table --create=pages
然后再./app/database/migrations下,将会多出两个文件,这就是数据库迁移文件,我们在这两个文件中,添加相应的字段,然后运行命令:
php artisan migrate
这个时候,数据库中就会建立相应的数据表
4.模型Models
接下来我们将学习Laravel中最强大的部分,Eloquent ORM
我们在命令行运行下列语句创建两个Model
php artisan generate:model article
php artisan generate:model page
这个时候在app/models/下就出现了两个文件Article.php和Page.php,这是两个Model类,他们都继承了Laravel提供的核心类\Eloquent。详见Eloquent系列教程:深入理解Laravel Eloquent(一)--基本概念与用法
5.数据库填充
分别运行下列命令:
php artisan generate:seed page
php artisan generate:seed article
这时,在./app/database/seeds/下就出现了两个新文件,这就是我们的数据库填充文件。Laravel提供自动数据库填充,十分方便。
generate默认使用Faker\Factory作为随机数据生成器,需要安装这个composer包,地址为:https://packagist.org/packages/fzaninotto/faker,跟generator一起安装在require-dev中即可。
然后再DatabaseSeeder.php中增加两行,让Laravel在seed的时候会带上我们新增的这两个seed文件。
$this->call('ArticleTableSeeder');
$this->call('PageTableSeeder');
然后通过下列命令把数据填充到数据库:
php artisan db:seed
6.视图分离与嵌套
在目录文件夹下运行命令:
php artisan generate:view admin._layouts.default
这个时候,generator插件会帮我们创建app/views/admin/_layouts/default.blade.php,将内容修改为
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Learn Laravel 4</title> @include('admin._partials.assets') </head>
<body>
<div class="container">
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="{{ URL::route('admin.pages.index') }}">Learn Laravel 4</a> @include('admin._partials.navigation') </div>
</div>
</div> <hr> @yield('main') </div>
</body>
</html>
大概的内容就是这么多,具体的请查看岁寒的Laravel4 系列入门教程,本文只是在学习之余记录一下,方便以后查找,如果能帮到你们,那就更好了。
laravel 心得的更多相关文章
- Laravel使用心得
Laravel使用心得 1.session使用 laravel的session使用时,不要使用exit和die,否则session会为空. 2.ajax提交注意框架对post的CSRF保护 在头加上& ...
- 用laravel dingo api插件库创建api的一些心得笔记
用laravel创建api是很多大型项目正在使用的方法,一般他们都是用dingo api插件库来开发自己的api.以下是ytkah用dingo api的一些心得,有需要的朋友可以关注一下 1.安装 因 ...
- php的laravel框架使用心得
最近在做一项目,是基于laravel的后台api,用于与手机交互的,数据采用json格式.下面说下怎样在两周内把一个新框架或者语言用的得心应手. 项目采用laravel5.4+dingoapi+jwt ...
- PHP Laravel框架入门心得 | How to study PHP Laravel Framework
PHP有不少开发框架,其中比较出名的有Symfony和Laravel. 我说说我最近入门Laravel的感受和学习方法吧. 1.第一个感受是Laravel的社区讨论和学习资源真的是太棒了,中文化也做得 ...
- Laravel trait 使用心得
trait 是在PHP5.4中为了方便代码复用的一种实现方式,但目前我在看的的PHP项目中较少看的有程序员去主动使用这个实现方式,在laravel中有很多 trait 的使用,关于trait 在 la ...
- PHP trait 特性在 Laravel 中的使用个人心得
trait 是在PHP5.4中为了方便代码复用的一种实现方式,但目前我在看的的PHP项目中较少看的有程序员去主动使用这个实现方式,在laravel中有很多 trait 的使用,关于trait 在 la ...
- laravel artisan 工具心得
介绍一些非常好用的命令: 1.创建一个Eloquent模型:顺便创建一个对应的数据库表 php artisan make:model --migration Models/Admin/test 2.将 ...
- Laravel Homestead安装笔记
引言: 最近开始学习laravel框架,了解到有个laravel homestead的box,开发起来非常方便快捷,于是就准备开始配置homestead虚拟开发环境了 什么是Homestead 要想学 ...
- thinkphp框架使用心得
接触的第一个PHP框架就是TP,在使用的了一段时间后就放弃了,说实话TP的弊端挺多,之后又接触laravel框架,慢慢的就爱上laravel这个框架了.这段时间由于公司的原因,又不得不使用thinkp ...
随机推荐
- lnmp 60秒的服务器缓存时间
1.问题 php代码写好之后执行发现居然没有生效,打断点,改代码.刷新都没有达到预期的效果.但是间隔60秒之后刷新就看到效果了,或者删除文件就里面见效. 2.原因 从phpinfo()页面输出搜索&q ...
- 基于cygwin构建u-boot(四)libgcc引用
接上文,config.mk文件修改后,即使没有.depend也可以正常处理了: 六.错误:gcclib引用错误 完成之前几篇的工作后,程序就可以一直执行了,直到最后生成u-boot, 出现如下错误告警 ...
- android 退出方案 导致内存泄露
比较奇怪android没有给出一个统一的退出接口,网上查了很多材料也出现了一些错误,在此记录一下,遇到的,与总结的. 1.常见概念,方法 finish() 通知结束当前activity实例,finis ...
- LeetCode_Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...
- 域控制器安全策略在哪里 Windows server 2008
Start(开始)–Programs(程序)–Administrative Tools(管理工具)–Group Policy Management(策略管理器) 展开组策略管理器选择–Forest(林 ...
- 微信内置浏览器的JsAPI(WeixinJSBridge续)_Alien的笔记
微信内置浏览器的JsAPI(WeixinJSBridge续)_Alien的笔记 微信内置浏览器的JsAPI(WeixinJSBridge续)进入全屏 之前有写过几篇关于微信内置浏览器(WebView) ...
- HDU 4287 (13.08.17)
Problem Description We all use cell phone today. And we must be familiar with the intelligent Englis ...
- Timer.4 - Using a member function as a handler
In this tutorial we will see how to use a class member function as a callback handler. The program s ...
- form表单提交校验
<form id="myForm" action="http://www.365mini.com" method="post"> ...
- js校验
判空 function check(s) { return (s == null || typeof (s) == "undefined" || s == "" ...