Laravel 4 初级教程之安装及入门

Laravel 4 初级教程之安装及入门,第1张

概述本文不推荐完全不懂PHP与MVC编程的人学习。本文不是 “一步一步跟我做” 教程。本文需要你付出一定的心智去解决一些或大或小的隐藏任务,以达到真正理解 Laravel 运行逻辑的目的。

0. 默认条件

本文默认你已经有配置完善的PHP+MysqL运行环境,懂得PHP网站运行的基础知识。跟随本教程走完一遍,你将会得到一个基础的包含登录的简单blog系统,并将学会如何使用一些强大的Laravel插件和composer包(Laravel插件也是composer包)。

软件版本:PHP 5.4+,MysqL 5.1+

1. 安装

许多人被拦在了学习Laravel的第一步,安装。并不是因为安装教程有多复杂,而是因为【众所周知的原因】。在此我推荐一个composer全量中国镜像:。推荐“修改 composer 的配置文件”方式配置。我在写此教程时用此镜像测试,安装失败,若你也出现这种情况,可以尝试另一个composer中国镜像:。

镜像配置完成后,切换到你想要放置该网站的目录下,运行命令:

代码如下:

然后,稍等片刻,当前目录下就会出现一个叫 learnlaravel 的文件夹,这时候如果你通过浏览器访问 learnlaravel/public/ 目录,基本都会显示 Error in exception handler. ,这是因为 learnlaravel/app/storage 目录没有777权限,设置好权限即可看见页面如下图:

恭喜你~Laravel安装成功!

不想配置镜像的同学,可以使用 Laravel 界非常著名的超超搞得安装神器:

2. 必要插件安装及配置

我们使用著名的Sentry插件来构建登录等权限验证系统。

打开 ./composer.json ,变更为:

代码如下:

然后,在项目根目录下运行命令

代码如下:

然后稍等一会儿,它会提示 cartalyst/sentry 2.1.4安装完成。

同理,我们将安装一个开发用的非常强大的插件,way/generators,这是它在composer库中的名字。在 composer.Json中增加:

代码如下:

放在“require”的下面。

运行 composer update,之后在 ./app/config/app.PHP 中增加配置:

代码如下:

安装完成过,在命令行中运行 PHP artisan,就可以看到这个插件带来的许多新的功能。

有人会问,为什么用了国内镜像还是如此之慢?其实composer在update的时候最慢的地方并不是下载,而是下载之前的依赖关系解析,由于Laravel依赖的composer包非常之多,PHP脚本的执行速度又比较慢,所以每次update等个两三分钟很正常,习惯就好。

3. 数据库建立及迁移

数据库配置文件位于 ./app/config/database.PHP,我们需要把“connections”中的“MysqL”项改成我们需要的配置。下面是我的配置:

代码如下: array('driver' => 'MysqL','host' => 'localhost','database' => 'laravel','username' => 'root','password' => 'password','charset' => 'utf8','collation' => 'utf8_unicode_ci','prefix' => 'l4_',),

prefix为表前缀,这个Laravel会帮我们自动维护,大胆写上不用担心。

这时候你需要去数据库建立此数据库,然后在命令行中输入:

代码如下:

执行完成后,你的数据库里就有了5张表,这是sentry自己建立的。sentry在Laravel4下的配置详情见 ,我大致说一下:

在 ./app/config/app.php 中 相应的位置 分别增加以下两行:

代码如下: 'Cartalyst\Sentry\Facades\Laravel\Sentry',

权限系统的数据库配置到此为止。

我们的简单blog系统将会有两种元素,Article和Page,下面我们将创建articles和pages数据表,命令行运行:

代码如下:

这时候,去到 ./app/database/migrations,将会看到多出了两个文件,这就是数据库迁移文件,过一会我们将 *** 作artisan将这两个文件描述的两张表变成数据库中真实的两张表,放心,一切都是自动的。

下面,在***_create_articles_table.PHP中修改:

代码如下: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中修改:

代码如下:increments('ID');$table->string('Title');$table->string('slug')->nullable();$table->text('body')->nullable();$table->integer('user_ID');$table->timestamps();});

下面,就是见证奇迹的时刻,在命令行中运行:

代码如下:

这时候数据库中的articles表和pages表就建立完成了。

4. 模型 Models

接下来我们将接触Laravel最为强大的部分,Eloquent ORM,真正提高生产力的地方,借用库克的话说一句,鹅妹子英!

我们在命令行运行下列语句以创建两个model:

代码如下:

这时候,在 ./app/models/ 下就出现了两个model文件。这两个类继承了Laravel提供的核心类 \Eloquent。

5. 数据库填充

分别运行下列命令:

代码如下:

这时,在 ./app/database/seeds/ 下就出现了两个新的文件,这就是我们的数据库填充文件。Laravel提供自动数据库填充,十分方便。

generator默认使用Faker\Factory作为随机数据生成器,所以我们需要安装这个composer包,地址是 ,跟generator一起安装在 require-dev 中即可。具体安装请自行完成,可以参考Sentry和Generator,这是第一次练习。

接下来,分别更改这两个文件:

代码如下: $faker->sentence($nbWords = 6), 'slug' => 'first-post', 'body' => $faker->paragraph($nbSentences = 5), 'user_ID' => 1,]);Page::create([ 'Title' => $faker->sentence($nbWords = 6), 'slug' => 'first-page',]);

然后,我们需要在 DatabaseSeeder.PHP 中增加两行,让Laravel在seed的时候会带上我们新增的这两个seed文件。

代码如下:call('ArticletableSeeder');$this->call('PagetableSeeder');

下面就要真正的把数据填充进数据库了:

代码如下:

*** 作完成以后去数据库看看,数据已经填充进去了,article和page各10行。

总结

以上是内存溢出为你收集整理的Laravel 4 初级教程之安装及入门全部内容,希望文章能够帮你解决Laravel 4 初级教程之安装及入门所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1269396.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存