php框架laravel手册,Laravel 5 框架入门(一)
Laravel 5 中文文档:
默认条件
本文默认你已经有配置完善的 PHP + MySQL 运行环境,懂得 PHP 网站运行的基础知识。跟随本教程走完一遍,你将会得到一个基础的包含登录的简单 blog 系统,并将学会如何使用一些强大的 Laravel 插件和 composer 包(Laravel 插件也是 composer 包)。
软件版本:PHP 5.4+,MySQL 5.1+
本文不推荐完全不懂 PHP 与 MVC 编程的人学习。本文不是 “一步一步跟我做” 教程。本文需要你付出一定的心智去解决一些或大或小的隐藏任务,以达到真正理解 Laravel 运行逻辑的目的。
1. 安装
许多人被拦在了学习Laravel的第一步,安装。并不是因为安装教程有多复杂,而是因为【众所周知的原因】。在此我推荐一个composer全量中国镜像:http://pkg.phpcomposer.com/ 。推荐以 “修改 composer 的配置文件” 方式配置。
镜像配置完成后,切换到你想要放置该网站的目录下(如 C:\\wwwroot、/Library/WebServer/Documents/、/var/www/html、/etc/nginx/html 等),运行命令:
composer create-project laravel/laravel learnlaravel5
然后,稍等片刻,当前目录下就会出现一个叫 learnlaravel5 的文件夹。
然后将网站根目录配置为 learnlaravel5/public。
如果你不会配置,建议去学会配置,网上资料很多。如果自暴自弃,可以把 的第 29 行'url' => 'http://localhost', 配置成你的子目录地址,注意,要一直配置到 ***/learnlaravel5/public。
使用浏览器访问你配置的地址,将看到以下画面(我在本地配置的地址为 http://fuck.io:88 ):
2. 体验 Auth 系统并完成安装
—— 经过上面的过程,Laravel 5 的安装成功了?
—— 没有o(╯□╰)o
查看路由文件 `learnlaravel5/app/Http/routes.php` 的代码:
Route::get('/', 'WelcomeController@index');
Route::get('home', 'HomeController@index');
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
跟随代码里的蛛丝马迹,让我们访问 http://fuck.io:88/home (请自行替换域名),结果竟然跳转到了登陆页?
没错,Laravel 自带了开箱即用的 Auth 系统,连页面都已经写好了。
让我们随意输入邮箱和密码,点击登录,你很可能得到以下画面(Mac 或 Linux 下):
为什么空白?用开发者工具查看,这个请求的状态码是 500,为什么?
因为 `learnlaravel5/storage` 目录没有 777 权限。
执行 shell 命令:
cd learnlaravel5
sudo chmod -R 777 storage
重新访问 http://fuck.io:88/home ,随意输入邮箱和密码,如果你得到以下画面:
那么恭喜你~ Laravel 5 安装成功!
3. 数据库建立及迁移
Laravel 5 把数据库配置的地方改到了 `learnlaravel5/.env`,打开这个文件,编辑下面四项,修改为正确的信息:
DB_HOST=localhost
DB_DATABASE=laravel5
DB_USERNAME=root
DB_PASSWORD=password
推荐新建一个名为 laravel5 的数据库,为了学习方便,推荐使用 root 账户直接操作。
Laravel 已经为我们准备好了 Auth 部分的 migration,运行以下命令执行数据库迁移操作:
php artisan migrate
得到的结果如下:
如果你运行命令报错,请检查数据库连接设置。
至此,数据库迁移已完成,你可以打开 http://fuck.io:88/home 欢快地尝试注册、登录啦。
4. 模型 Models
接下来我们将接触Laravel最为强大的部分,Eloquent ORM,真正提高生产力的地方,借用库克的一句话:鹅妹子英!
运行一下命令:
php artisan make:model Article
php artisan make:model Page
> Laravel 4 时代,我们使用 Generator 插件来新建 Model。现在,Laravel 5 已经把 Generator 集成进了 Artisan。
现在,Artisan 帮我们在 `learnlaravel5/app/` 下创建了两个文件 `Article.php` 和 `Page.php`,这是两个 Model 类,他们都继承了 Laravel Eloquent 提供的 Model 类 `Illuminate\Database\Eloquent\Model`,且都在 `\App` 命名空间下。这里需要强调一下,用命令行的方式创建文件,和自己手动创建文件没有任何区别,你也可以尝试自己创建这两个 Model 类。
Model 即为 MVC 中的 M,翻译为 模型,负责跟数据库交互。在 Eloquent 中,数据库中每一张表对应着一个 Model 类(当然也可以对应多个)。
如果你从其他框架转过来,可能对这里一笔带过的 Model 部分很不适应,没办法,是因为 Eloquent 实在太强大了啦,真的没什么好做的,继承一下 Eloquent 类就能实现很多很多功能了。
如果你想深入地了解 Eloquent,可以阅读系列文章:Laravel 5框架学习之Eloquent 关系
接下来进行 Article 和 Page 类对应的 articles 表和 pages表的数据库迁移,进入 `learnlaravel5/database/migrations` 文件夹。
在 ***_create_articles_table.php 中修改:
Schema::create('articles', function(Blueprint $table)
{
$table->increments('id');
$table->string('title');
$table->string('slug')->nullable();
$table->text('body')->nullable();
$table->string('image')->nullable();
$table->integer('user_id');
$table->timestamps();
});
在 ***_create_pages_table.php 中修改:
Schema::create('pages', function(Blueprint $table)
{
$table->increments('id');
$table->string('title');
$table->string('slug')->nullable();
$table->text('body')->nullable();
$table->integer('user_id');
$table->timestamps();
});
然后执行命令:
php artisan migrate
成功以后, tables 表和 pages 表已经出现在了数据库里,去看看吧~
5. 数据库填充 Seeder
在 `learnlaravel5/database/seeds/` 下新建 `PageTableSeeder.php` 文件,内容如下:
use Illuminate\Database\Seeder;
use App\Page;
class PageTableSeeder extends Seeder {
public function run()
{
DB::table('pages')->delete();
for ($i=0; $i < 10; $i++) {
Page::create([
'title' => 'Title '.$i,
'slug' => 'first-page',
'body' => 'Body '.$i,
'user_id' => 1,
]);
}
}
}
然后修改同一级目录下的 `DatabaseSeeder.php`中:
// $this->call('UserTableSeeder');
这一句为
$this->call('PageTableSeeder');
然后运行命令进行数据填充:
composer dump-autoloadphp artisan db:seed
去看看 pages 表,是不是多了十行数据?
大家在任何地方卡住,最快捷的解决方式就是去看我的示例代码。
以上所述就是本文的全部内容了,希望能够对大家学习Laravel5框架有所帮助。
php框架laravel手册,Laravel 5 框架入门(一)相关推荐
- laravel框架中文手册_node.js 后端框架star 排名 2020年11月更新,fastify 超 egg
发布时间以首个版本发布(0.x)为准. 第一名: express 50.8k (2010年1月发布) 目前star 和下载量最高的老牌框架. https://github.com/expressjs/ ...
- php7 viewmodel,【初念科技】| php框架实例: Laravel之Model Observer模型
原标题:[初念科技]| php框架实例: Laravel之Model Observer模型 本文主要学习下Laravel的Model Observer模型观察者,小编把自己的一点点经验分享出来希望对别 ...
- Laravel 成为最佳 PHP 框架的 14 个理由!
作者 | Manik 译者 | 苏本如,责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 以下为译文: 在开发应用程序时选择使用哪个框架,这将取决于很多因素.和其它任何应用程序框架一样,L ...
- php框架laravel下载,laravel 5.4
laravel 5.4是一套PHP Web开发框架,能够让我们的用户从一堆杂乱的代码中解脱出来,通过一种简洁.优雅的形式进行PHP Web的开发,该框架能够让用户的每行代码都能够既简洁又富于表达力. ...
- 【Laravel】Laravel-admin后台框架-2创建数据表建立模块增删改查CURD(2)
前言 前面的操作我们已经能够 安装Laravel-admin 创建数据表并生成模型 修改模型实现按业务写入数据 可以参考之前的文章 [Laravel]Laravel-admin后台框架-2创建数据表建 ...
- 【杂谈】超过12个,150页深度学习开源框架指导手册与GitHub项目,初学CV你值得拥有...
之前我们公众号输出了很多深度学习开源框架相关的内容,今天整理成技术手册给大家分享以方便阅读,下面是详细信息. 开源框架背景 现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caf ...
- 【杂谈】面向新手的深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...
之前我们公众号输出了很多深度学习开源框架相关的内容,现在整理成技术手册给大家分享以方便阅读,下面是详细信息. 开源框架背景 现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caf ...
- 【通知】有三AI发布150页深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...
之前我们公众号输出了很多深度学习开源框架相关的内容,今天整理成技术手册给大家分享以方便阅读,下面是详细信息. 开源框架背景 现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caf ...
- darknet框架_【通知】有三AI发布150页深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...
之前我们公众号输出了很多深度学习开源框架相关的内容,今天整理成技术手册给大家分享以方便阅读,下面是详细信息. 开源框架背景 现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caf ...
- php+yii手册下载,yii中文手册-yii框架中文手册教程下载pdf格式免费版-东坡下载
本节内容小编为大家精选带来的是pdf格式免费版yii框架中文手册教程下载文档,如果你需要一份yii框架中文手册或是一份yii框架教程,那么点击本文下方相应的下载地址下载这份"yii框架中文手 ...
最新文章
- C#中的线程(二) 线程同步基础
- android学习第5天(周六日没学,可惜啊,神驰物外了)
- 3157: 国王奇遇记 3516: 国王奇遇记加强版 - BZOJ
- execjs回调python_python使用execJS运行js函数例子
- 如何查询编程语言或者网站里一些特殊符号的unicode编码
- ABP文档翻译--值对象
- ❤️力扣线性枚举算法第二题数组中连续为一的最大个数
- 沫沫金::jqGrid插件-弹窗返回值
- JBoss环境搭建及部署Web项目
- 速达软件无法打开帐套数据库/一般性网络错误
- 老虎证券开放api常用常量
- word基本功:给样式设置多级编号
- RNA提取和建库流程对mRNA-Seq的影响
- 一种简单易用的台球瞄准方法——对称瞄准法
- 2021年全球社交应用支出排行榜TikTok列榜首;小猪佩奇和抖音推出防沉迷系列视频 | 美通社头条...
- 有什么软件能每天提醒自己坚持吗?每日定时提醒做某事的便签
- arduino uno模拟遥控器控制无刷电机
- 为什么说区块链是新的博弈竞技场
- Chocolatey:Windows软件包管理系统_安装及使用指南
- 建筑工程造价常见的41个问题
热门文章
- python Splinter 12306抢票
- Tomcat8.5访问HTML页面出现乱码
- ES6--阮一峰版笔记
- 关于华为宣讲的一些感悟
- 【Maven】maven如何配置本地仓库?
- 裴礼文3.2.34解答
- 面试求职:数据库常见面试题(数据库优化思路)
- 看不出svp补帧_SVP4免费版|SVP4(视频补帧软件)下载v4.2.0.122免费版 附教程 - 欧普软件下载...
- B样条曲线的一些基本性质
- 集成隔离电源的隔离式RS-485/RS-422收发器