composer安装laravel并配置

安装 Laravel:

Laravel 使用 [Composer] 来管理代码依赖。所以,在使用 Laravel 之前,请先确认你的电脑上安装了 Composer。

方法一:通过laravel安装器安装:

在cmd执行 composer global require "laravel/installer"

请确定你已将 ~/.composer/vendor/bin 路径加到 PATH,只有这样系统才能找到 laravel 的执行文件。

一旦安装完成,就可以使用 laravel new 命令在指定目录创建一个新的 Laravel 项目,例如:laravel new blog 将会在当前目录下创建一个叫 blog 的目录,此目录里面存放着新安装的 Laravel 和代码依赖。这个方法的安装速度比通过 Composer 安装要快上许多

方法二:通过composer的laravel:

在要安装的根目录下执行composer create-project --prefer-dist laravel/laravel blog "5.2.*" //本次是安装5.2

———————————————————————————————————————

配置:

1.首先

确认服务器访问项目是否映射到public目录,其次确认.env加密串文件有无生成,相关的目录权限是不是完全控制或775
app/config/app.php 文件中的 debug 选项设置为 true (注:开启开发模式,更友好的开发提示);
可以使用config('app.timezone');来获取config目录下任意配置文件配置项的值
并且可以使用config(['app.timezone' => 'America/Chicago']);来在运行时更改

2.了解目录结构:

文件/文件夹
作用

  • app/
    包含了站点的 controllers(控制器),models(模型),views(视图)和 assets(资源)。这些是网站运行的主要代码,你会将你大部分的时间花在这些上面。本文主要关注的是这个文件夹。
  • bootstrap
    用来存放系统启动时需要的文件,这些文件会被如 index.php 这样的文件调用。
  • public
    这个文件夹是唯一外界可以看到的,是必须指向你 web 服务器的目录。它含有 laravel 框架核心的引导文件 index.php,这个目录也可用来存放任何可以公开的静态资源,如 css,Javascript,images 等。
  • vendor
    用来存放所有的第三方代码,在一个典型的 Laravel 应用程序,这包括 Laravel 源代码及其相关,并含有额外的预包装功能的插件。
  • app/config/
    配置应用程序的运行时规则、 数据库、 session等等。包含大量的用来更改框架的各个方面的配置文件。大部分的配置文件中返回的选项关联PHP数组。
  • app/config/app.php
    各种应用程序级设置,即时区、 区域设置(语言环境)、 调试模式和独特的加密密钥。
  • app/config/auth.php
    控制在应用程序中如何进行身份验证,即身份验证驱动程序。
  • app/config/cache.php
    如果应用程序利用缓存来加快响应时间,要在此配置该功能。
  • app/config/compile.php
    在此处可以指定一些额外类,去包含由‘artisan optimize’命令声称的编译文件。这些应该是被包括在基本上每个请求到应用程序中的类。
  • app/config/database.php
    包含数据库的相关配置信息,即默认数据库引擎和连接信息。
  • app/config/mail.php
    为电子邮件发件引擎的配置文件,即 SMTP 服务器,From:标头
  • app/config/session.php
    控制Laravel怎样管理用户sessions,即session driver, session lifetime。
  • 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, compiled view templates。这个目录在web服务器上必须是可以写入的。该目录由Laravel维护,我们可以不关心。
  • app/tests/
    该文件夹给你提供了一个方便的位置,用来做单元测试。如果你使用PHPUnit,你可以使用Artisan工具一次执行所有的测试。
  • app/views/
    该文件夹包含了控制器或者路由使用的HTML模版。请注意,这个文件夹下你只能放置模版文件。其他的静态资源文件如css, javascript和images文件应该放在/public文件夹下。
  • app/routes.php
    这是您的应用程序的路由文件,其中包含路由规则,告诉 Laravel 如何将传入的请求连接到路由处理的闭包函数、 控制器和操作。该文件还包含几个事件声明,包括错误页的,可以用于定义视图的composers。
  • app/filters.php
    此文件包含各种应用程序和路由筛选方法,用来改变您的应用程序的结果。Laravel 具有访问控制和 XSS 保护的一些预定义筛选器。
3.设置环境变量:

应用程序常常需要根据不同的运行环境设置不同的值。只需通过 .env 配置文件定义不同的环境变量值,即可控制环境,当你的应用程序收到请求时,这个文件所有的变量都会被加载到 PHP 超级全局变量 $_ENV 里。你可以使用辅助函数 env 来获取这些变量的值。

例如:

'debug' => env('APP_DEBUG', false),//第二个参数为获取不到的返回值

应用程序的当前环境是由 .env 文件中的 APP_ENV 变量所决定的。你可以通过 Appenvironment 方法来获取该值:
作用去根据环境(local or production )加载不同的配置、调试日志

$environment = App::environment();
4.配置路由到控制器

app/controllers定义控制器继承Controllers编辑具体逻辑
在app/routes.php定义路由规则: 有3种写法:

Route::get('/hello', 'TestController@hello');//控制器@方法
Route::get('/hello',['uses'=>'TestController@hello']);
Route::any('/hello',['uses'=>"TestController@hello']);//多种请求支持的路由
5.新增视图(前后端分离时不适用)

在resources\views下新建控制器下文件夹包含blade.php文件并定义html页面
在控制器使用view('文件名/视图名')输出视图
并且模板文件可以带变量并在视图使用{${}}EL表达式输出
Laravel 使用了 Blade 布局 来让不同页面共用这些相同的功能。
.blade.php 扩展名会告知框架使用 [Blade 模板引擎] 渲染此视图。当然,你可以在 Laravel 使用纯 PHP 的模版。不过,Blade 提供了更方便的方式来编写干净、简洁的模板。特殊的 Blade 命令可以在网页中注入内容。

//Controller中
return view('Test/hello');
return view('Test/hello',['name'=>'BoB','age'=>18]);
6.新建模型

模型即在app下的php文件

use Illuminate\Database\Eloquent\Model;
class User extends Model
{
//指定数据表
protected Stable=‘student‘;
//指定id
protected $primaryKey=‘id‘;
}
7.数据库操作:

Laravel中提供了DB facade(原始查找),查找构造器,Eloquent ORM三种操作方法

DB facade:
———————————————————————————————————————
通过DB::select DB::insert配合?占位符等运行sql原生查询
DB:transaction管理事务
DB::statement管理无返回的数据库操作
使用多个数据库连接的时候,可以使用DB门面的connection方法访问每个连接,连接名与参数在config/database.php中定义

查询构建器
———————————————————————————————————————
数据库查询构建器提供了一个方便的、平滑的接口来创建和运行数据库查询:
DB::table('表名')为给定表返回一个查询构建器,允许你在查询上链接更多约束条件并最终返回查询结果
具体的操作针对查询构建器:
first()获取一行,get获取符合条件的所有
比如使用where来限定条件
chunk方法处理结果集部分并设置闭包进行操作
lists方法限定列,等等,更多花样待探索, 但个人觉得, 比如chunk方法闭包处理, 在具体业务逻辑可能不太常用, 所以TP框架里没有类似的方法, 但laravel有, 虽然用起来复杂了,但是这也是性能的体现。

Eloquent ORM (重点):
注意:由于Eloquent模型本质上就是 查询构建器"),你可以在Eloquent查询中使用查询构建器的所有方法。
———————————————————————————————————————
Laravel所自带的Eloqulent ORM是一个非常优美简洁的ActiveRecord实现,用来实现数据库的操作他的每个数据的表都有对应的模型(model)用于数据表的交互。
Eloquent模型约定(表名、主键、操作的记录时间戳(可设置不要)):
use引入约定模型,然后使用 模型名::即可调用构建器所有方法,与Eloqulent自己的实现方法
Eloqulent比较关键的作用域功能,通过在model中定义的scope前缀的作用域方法(可带参)来实现对查询结果的筛选与操作
Eloqulent软删除:Eloquent还可以对模型进行“软删除”。当模型被软删除后,它们并没有真的从数据库删除,而是在模型上设置一个deleted_at属性并插入数据库,
要启用模型的软删除功能,可以使用模型上的Illuminate\Database\Eloquent\SoftDeletestrait并添加deleted_at列到$dates属性:
启用后,当调用模型的delete方法时,deleted_at列将被设置为当前日期和时间,并且,当查询一个使用软删除的模型时,被软删除的模型将会自动从查询结果中排除。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容

  • Laravel框架一:原理机制篇 Laravel作为在国内国外都颇为流行的PHP框架,风格优雅,其拥有自己的一些特...
    Mr_Z_Heng阅读 3,660评论 0 13
  • Eloquent: 起步 简介 Laravel 的 Eloquent ORM 提供了一种漂亮简洁的关系映射的模型来...
    Dearmadman阅读 11,895评论 3 16
  • 一、框架概述 课程概述 laravel 4天(之前TP框架还是很大的区别)(国外框架) 在线教育平台 6天(lar...
    大大的世界小小的梦想_97ef阅读 1,349评论 0 2
  • 简介 laravel 使实施认证的变得非常简单,事实上,它提供了非常全面的配置项以适应应用的业务。认证的配置文件存...
    Dearmadman阅读 6,112评论 2 13
  • 4.25日,我有幸参加了“青岛市第一批基于语文核心素养的创意写作教学‘种子教师’培训会”。培训会上,浙江金华荣光国...
    东方来彦阅读 437评论 0 1