安装
Laravel框架使用 Composer 执行安装和依赖管理。如果还没有安装的话,现在就开始 安装 Composer 吧。
安装Composer之后,你就可以通过命令行使用如下命令安装Laravel了:
composer create-project laravel/laravel your-project-name
或者,你可以从 Github仓库 下载。接下来,在 安装Composer 之后,在项目根目录下执行 composer install 命令。该命令将会下载以及安装框架的依赖组件。
写入权限
安装完 Laravel ,你还需要为web服务器设置 app/storage 目录的写入权限。请参考 安装 一节以获取更多关于配置方面的信息。
目录结构
安装完框架后,你需要熟悉一下该项目的目录结构。app 文件夹包含了一些例如 views ,controllers 和 models 目录。 程序中大部分代码将要存放这些目录下。你也可以查看一下 app/config 文件夹里一些配置项目。
路由
我们开始创建我们第一个路由。在 Laravel,简单路由的方法是闭包。打开 app/routes.php 文件加入如下代码:
Route::get(‘users’, function()
{
return ‘Users!’;
});
现在,你在 web 浏览器输入 /users,你应该会看到 Users! 输出。真棒!已经创建了你第一个路由。
路由也可以赋予控制器类。例如:
Route::get(‘users’, ‘UserController@getIndex’);
该路由告知框架 /users 路由请求应该调用 UserController 类的 getIndex 方法。要查看更多关于路由控制器信息,查看 控制器文档 。

Read More →

一、扩展自己的类

在app/ 下建立目录 libraries\class

然后myTest.php 类名格式 驼峰 myTest

复制代码 代码如下:
<?php
class myTest
{
public  function test()
{
return ’1asdasd111′;
}
}

在 app/start/global.php

复制代码 代码如下:
ClassLoader::addDirectories(array(
app_path().’/commands’,
app_path().’/controllers’,
app_path().’/models’,
app_path().’/database/seeds’,
app_path().’/libraries/class’, //增加这一段
));
用 make 载入
复制代码 代码如下:
<?php
class HomeController extends BaseController {
protected $layout = ‘layouts.main’;
public function index()
{
$a = App::make(‘mytest’); // 用法
echo $a->test();
}
}

二、扩展自己的函数

在app/ 下建立目录 libraries\function

建立helper.php

函数格式,如下用function_exists,防止与系统重名
复制代码 代码如下:
if (! function_exists(‘test2′))
{
function test2()
{
echo 2222222222222222;
}
}

方法一:

在 app/filters.php
复制代码 代码如下:
App::before(function($request)
{
require app_path().’/libraries/function/helper.php’; //载入 自定义函数
});

方法二:

在app/bootstrap/autolad.php

复制代码 代码如下:
require __DIR__.’/../app/functions.php’; // 引入自定义函数库

我感觉方法一会比较好。

Laravel学习 – 轩脉刃 – 博客园

Laravel是个很强大的PHP框架,它剔除了开发中Web开发中比较痛苦的过程,提供了验证(authentication),路由(routing),Session和缓存(caching)等开发过程中常用到的工具或者功能。

Laravel的配置都存放在app/config中。

Laravel学习 – 轩脉刃 – 博客园

里面所有的*.php都按照return的形式返回数据,那么就可以使用Config::get(“key”)来获取配置。使用Config::set(“key”, “value”) 来赋值配置项

要想使用不同的环境配置,就需要在config下创建对应配置的文件夹。然后它会覆盖对应的配置项。

获取当前的环境是使用App::environment(),判断当前环境是什么是使用:App::environment(“local”)

providers是用来配置对应的服务的,比如:

Laravel学习 – 轩脉刃 – 博客园

Laravel的请求周期:

1 请求先从public/index.php中进入

2 bootstrap/start.php文件创建app并检测环境

3 内部的 /Illuminate/Foundation/start.php文件配置相关设置并加载服务器

4 加载app/start目录下的文件

5 加载app/routes.php的路由设置

6 request通过controller等转化为response

7 返回response

路由配置:

配置的格式是:

Route::get(‘foo/bar’, funciton(){return ‘Hello World’;})

路由参数是可以有下面几种的:

Image(34)

可选路由参数:

Image(35)

带有默认的可选的路由参数:

Image(36)

用正则表达式限定的路由参数:

Image(37)

传递参数限定的数组:

Image(38)

定义全局模式:

Image(39)

不同的参数定位到不同的路由:

Image(40)

好,现在有个问题是某些路由必须要登录或者验证才能访问怎么办?这里就使用到了路由过滤器这个东西。

比如下面这个例子,当年龄小于200的时候就跳转到主页:

Image(41)

Request中的操作:

获取用户提交的值:Input::get(‘name’);

获取用户提交的值并指定默认值:Input::get(‘name’, ‘Sally’);

用户提交的信息是否存在:Input::has(‘name’)

获取所有用户提交的信息:Input::all()

获取其中几项指定的信息:Input::only(‘username’, ‘password’);

获取除几项之外的提交信息:Input::except(‘card’);

访问用户提交的数组:Input::get(‘products.0.name’);

cookie操作:

获取Cookie中的值:Cookie::get(‘name’)

添加一个Cookie:

$response = Response::make(‘Hello World’);

response>withCookie(Cookie::make( name , value , minutes));

如果想在Response之前设置Cookie,使用Cookie::queue()

Cookie::queue(name, value, $minute);

Session操作:

存储一个变量:Session::put(‘key’, ‘value’);

读取一个变量:Session::get(‘key’);

读取一个变量或者返回默认值:Session::get(‘key’, ‘default’);

检查一个变量是否存在:Sesssion::has(‘key’);

删除一个变量:Session::forget(‘key’);

删除所有Session变量:Session::flush();

文件上传操作:

获取用户上传文件:$file = Input::file(‘photo’);

判断是否有上传这个文件:Input::hasFile(‘photo’);

移动上传的文件:

Input::file(‘photo’)->move($destinationPath);

Input::file(‘photo’)->move(destinationPath, fileName);

获取上传文件大小:

Input::file(‘photo’)->getSize();

获取上传文件类型:

Input::file(‘photo’)->getMimeType();

获取用户请求路径:Request::path();

获取用户请求URL:Request::url();

获取Header中的信息:Request::header(‘Content-Type’);

获取SERVER中的信息:Request::server(‘PATH_INFO’);

重定向:

重定向: return Redirect::to(‘user/login’);

有参数的重定向: return Redirect::to(‘user/login’)->with(‘message’, ‘Login Failed’);

重定向到路由:return Redirect::route(‘profile’, array(‘user’ => 1));

返回重定向到Action:return Redirect::action(‘UserController@profile’, array(‘user’ => 1));

视图层:

传递数据给视图:$view = View::make(‘greeting’)->with(‘name’, ‘Steve’);

将一个视图传递给另一个视图:$view = View::make(‘greeting’)->nest(‘child’, ‘child.view’);

返回json:return Response::json(array(‘name’ => ‘Steve’, ‘state’ => ‘CA’));

返回jsonp:return Response::json(array(‘name’ => ‘Steve’, ‘state’ => ‘CA’))->setCallback(Input::get(‘callback’));

返回下载文件:

return Response::download($pathToFile);

return Response::download(pathToFile, status, $headers);

一个基本的控制器:

Image(42)

路由就长这样:

Image(43)

默认中,app/start/global.php文件中包含了一个处理所有异常的处理器。

Image(44)

监听fatal error,可以使用App::fatal方法。

日志操作:

Log::info

Log::warning

Log::error