搭建php Laravel框架教程详解
发布:smiling 来源: PHP粉丝网 添加日期:2017-03-23 10:08:55 浏览: 评论:0
Laravel框架我们用到的不多了,但如果使用需要搭配了,下面我们来看一篇关于搭建php Laravel框架教程详解,具体的操作细节如下所示,希望对各位有帮助。
一、安装 Composer
Laravel 框架使用 Composer(PHP包管理工具,参考 Composer 中文文档)来管理代码依赖性。 首先,你需要下载 Composer 的 PHAR 打包文件( composer.phar ),下载完成后把它放在项目目录下或者放到 usr/local/bin 目录下以便在系统中全局调用。在Windows操作系统中,你可以使用 Composer 的Windows安装工具。
二、安装 Laravel
方法一:通过 Laravel 安装器安装
首先,通过 Composer 下载 Laravel 安装器。
composer global require "laravel/installer=~1.1"
请确保把 ~/.composer/vendor/bin 路径添加到 PATH 环境变量里, 这样laravel 可执行文件才能被命令行找到, 以后您就可以在命令行下直接使用 laravel 命令.
安装成功后, 可以使用命令 laravel new 在您指定的目录下创建一份全新安装的 Laravel。例如,laravel new blog 将会在当前目录下创建一个叫 blog 的目录, 此目录里面存放着全新安装的 Laravel 以及其依赖的工具包。这种安装方法比通过 Composer 安装要快许多。
方法二:通过 Composer 的 create-project 命令安装 Laravel
还可以通过在命令行执行 Composer 的 create-project 命令来安装Laravel:
composer create-project laravel/laravel --prefer-dist
方法三:通过下载 Laravel 包安装
Composer 安装完成后,下载最新版Laravel框架,把它解压缩到你服务器上的一个目录中。然后在 Laravel 应用的根目录下运行命令行命令 php composer.phar install (或者 composer install )来安装所有的框架依赖包。在此过程中,为了成功完成安装,你需要在服务器上安装好 Git。
当 Laravel 框架安装好后,你可以使用命令行命令 php composer.phar update 来更新框架。
三、对服务器环境的要求
Laravel 框架对系统环境有如下要求:
PHP >= 5.4
MCrypt PHP 扩展
从 PHP 5.5 版本开始,针对某些操作系统的安装包需要你自己手工安装 PHP 的 JSON 扩展模块。如果你使用的是 Ubuntu,可以通过, apt-get install php5-json 命令直接安装。
四、展示
必要插件安装及配置
- "require": {
- "laravel/framework": "4.2.*",
- "cartalyst/sentry": "2.1.4"
- },
然后,在项目根目录下运行命令
composer update
然后稍等一会儿,它会提示 cartalyst/sentry 2.1.4安装完成。
同理,我们将安装一个开发用的非常强大的插件,way/generators,这是它在composer库中的名字。在 composer.json中增加:
- "require-dev": {
- "way/generators": "~2.0"
- },
和“require”同级,放在下面,不是里面哦~。
运行 composer update,之后在 ./app/config/app.php 中 恰当的位置 增加配置:
'Way\Generators\GeneratorsServiceProvider'安装完成过,在命令行中运行 php artisan,就可以看到这个插件带来的许多新的功能。
有人会问,为什么用了国内镜像还是如此之慢?其实composer在update的时候最慢的地方并不是下载,而是下载之前的依赖关系解析,由于Laravel依赖的composer包非常之多,PHP脚本的执行速度又比较慢,所以每次update等个两三分钟很正常,习惯就好。
3. 数据库建立及迁移
数据库配置文件位于 ./app/config/database.php,我们需要把“connections”中的“mysql”项改成我们需要的配置。下面是我的配置:
- 'mysql' => array(
- 'driver' => 'mysql',
- 'host' => 'localhost',
- 'database' => 'laravel',
- 'username' => 'root',
- 'password' => 'password',
- 'charset' => 'utf8',
- 'collation' => 'utf8_unicode_ci',
- 'prefix' => 'l4_',
- ),
prefix为表前缀,这个Laravel会帮我们自动维护,大胆写上不用担心。
这时候你需要去数据库建立此数据库,然后在命令行中输入:
php artisan migrate --package=cartalyst/sentry
执行完成后,你的数据库里就有了5张表,这是sentry自己建立的。sentry在Laravel4下的配置详情见 https://cartalyst.com/manual/sentry#laravel-4,我大致说一下:
在 ./app/config/app.php 中 相应的位置 分别增加以下两行:
'Cartalyst\Sentry\SentryServiceProvider','Sentry' => 'Cartalyst\Sentry\Facades\Laravel\Sentry',权限系统的数据库配置到此为止。
我们的简单blog系统将会有两种元素,Article和Page,下面我们将创建articles和pages数据表,命令行运行:
php artisan migrate:make create_articles_table --create=articles
php artisan migrate:make create_pages_table --create=pages
这时候,去到 ./app/database/migrations,将会看到多出了两个文件,这就是数据库迁移文件,过一会我们将操作artisan将这两个文件描述的两张表变成数据库中真实的两张表,放心,一切都是自动的。
下面,在***_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
这时候数据库中的articles表和pages表就建立完成了。
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。这里需要强调一下,用命令行的方式创建文件,和自己手动创建文件没有任何区别,你也可以尝试自己创建这两个 Model 类哦。
Model 即为 MVC 中的 M,翻译为 模型,负责跟数据库交互。在 Eloquent 中,数据库中每一张表对应着一个 Model 类。
如果你从其他框架转过来,可能对这里一笔带过的 Model 部分很不适应,没办法,是因为 Eloquent 实在太强大了啦,真的没什么好做的,继承一下 Eloquent 类就能实现很多很多功能了。详见 Eloquent 系列教程:深入理解 Laravel Eloquent(一)——基本概念及用法
5. 数据库填充
分别运行下列命令:
php artisan generate:seed page
php artisan generate:seed article这时,在 ./app/database/seeds/ 下就出现了两个新的文件,这就是我们的数据库填充文件。Laravel提供自动数据库填充,十分方便。
generator默认使用Faker\Factory作为随机数据生成器,所以我们需要安装这个composer包,地址是 https://packagist.org/packages/fzaninotto/faker ,跟generator一起安装在 require-dev 中即可。具体安装请自行完成,可以参考Sentry和Generator,这是第一次练习。
接下来,分别更改这两个文件:
- Article::create([
- 'title' => $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',
- 'body' => $faker->paragraph($nbSentences = 5),
- 'user_id' => 1,
- ]);
然后,我们需要在 DatabaseSeeder.php 中增加两行,让Laravel在seed的时候会带上我们新增的这两个seed文件。
- $this->call('ArticleTableSeeder');
- $this->call('PageTableSeeder');
下面就要真正的把数据填充进数据库了:
php artisan db:seed操作完成以后去数据库看看,数据已经填充进去了,article和page各10行。
Tags: 框架 教程 Laravel
相关文章
- ·PHP MVC框架之错误捕捉入门教程(2014-02-27)
- ·PHP MVC框架 视图之常用学习笔记(2014-02-27)
- ·Javascript操作iframe框架经典案例(2016-01-20)
- ·教你如何在CI框架中使用 .htaccess 隐藏url中index.php(2021-02-10)
- ·CI框架中集成CKEditor编辑器的教程(2021-02-10)
- ·kohana框架上传文件验证规则写法示例(2021-03-20)
- ·php ci框架中加载css和js文件失败的原因及解决方法(2021-03-27)
- ·php CI框架插入一条或多条sql记录示例(2021-03-27)
- ·PHP开发框架Laravel数据库操作方法总结(2021-04-10)
- ·CI框架Session.php源码分析(2021-04-22)
- ·php实现简单的MVC框架实例(2021-06-18)
- ·深入讲解PHP的Yii框架中的属性(Property)(2021-07-18)
- ·PHP封装请求类实例分析【基于Yii框架】(2022-01-08)
- ·PHP 和 MySQL 基础教程(2014-01-13)
- ·PHP入门教程之变量命名规则(2014-02-21)
- ·PHP运算符之PHP基本入门教程(2014-02-22)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)