laravel 学习笔记

最近开始看laravel了,以后就在这里记录学习中的一些注意的地方和一些关键功能的用法(版本laravel5):

1.获取配置项

\Config::get(‘app.timezone‘);  这样可以获取到app.php文件里的timezone的配置项的参数,看了同事的laravel4里面没有\斜杠发现会报错,所以这里要加上斜杠,或许是因为laravel5和4的目录结构和命名空间变了吧.也可以这样获取config(‘app.timezone‘);,临时修改配置参数:\Config::set(‘app.timezone‘,123); 这样设置了以后 获取的timeone就会变成123.如果自定义配置文件,那么app换成你自定的文件名,timezone换成你的配置参数就可以获取了.

2.路由:

以前听同事说laravel特别好用,当时不信,亲自试验了下,发现它的路由功能实在是强大.

默认的路由:Route::get(‘/‘, ‘[email protected]‘); 指的是 如果get方式访问根域名 则会直接访问到Welcome控制器下的index方法.

如果要给路由指定多种访问方式,可用如下的方法,访问域名/aaa无论是get还是post方法都会打印出字符串,第三个可以是回调函数或者是指定控制器下的方法

Route::match([‘get‘,‘post‘],‘/aaa‘,function () {
    //echo URL(‘aaa‘);//打印出一个url
    return ‘get或者post方法请求aaa路由‘;
});

如果对访问方法不做限制,可以这样写:

Route::any(‘foo‘,function () {
    return ‘any路由方法‘;
});

上面不会判断你的访问方式,任何方式都可以打印出字符串.

注:路由不要这样写‘/foo‘,它默认已经是域名/的路径了.

如果要让路由接受url里的参数的话可以这样写

Route::any(‘foo/{name}/{id}‘,function ($name,$id) {
    return $name.$id;
});

如果需要在控制器下接受路由的参数可以这样写:

Route::get(‘test/{appid?}‘,‘[email protected]‘)

Route::get(‘test/{appid?}‘,‘[email protected]‘);

//这样就可以在Home控制器下的test方法里这样接受参数:
public function test($appid = ‘‘) {
  echo $appid;
}

在路由后面加上参数的规则,

Route::get(‘test/{appid?}‘,‘[email protected]‘)->where(‘appid‘,‘[0-9]{2}‘);//这样appid只接受2位数.可以给配置的路由起上别名Route::get(‘home/box‘,[‘as‘=>‘test‘,function () {  return 123;}])

这样可以在控制器的方法里通过route(‘test‘);可以打印出这个路由的地址,也可以进行重定向redirect()->route(‘profile‘);
//路由分组
Route::group([‘prefix‘=>‘admin‘],function () {
    Route::get(‘box‘,function () {

        return ‘admin分组下的box路由‘;
    });
    Route::get(‘box1‘,function () {

        return ‘admin分组下的box1路由‘;
    });
    Route::get(‘box2‘,function () {

        return ‘admin分组下的box2路由‘;
    });
});
 

3.配置数据库:在config/database.php里找到mysql的配置,但是它没有写明链接参数,而是通过env()获取的,只是给了默认值而已,这些获取的值是在根目录下的.env下配置的.
‘mysql‘ => [
            ‘driver‘    => ‘mysql‘,
            ‘host‘      => env(‘DB_HOST‘, ‘localhost‘),
            ‘database‘  => env(‘DB_DATABASE‘, ‘forge‘),
            ‘username‘  => env(‘DB_USERNAME‘, ‘forge‘),
            ‘password‘  => env(‘DB_PASSWORD‘, ‘‘),
            ‘charset‘   => ‘utf8‘,
            ‘collation‘ => ‘utf8_unicode_ci‘,
            ‘prefix‘    => ‘v_‘,
            ‘strict‘    => false,
            ‘port‘         => ‘3306‘,
        ],

如果你要配置多个的话,则按这个格式再写一个,但是mysql这个键值自己定义,然后通过\DB::connection(‘自定义键值‘)->select(‘...‘)来进行操作,目前还不清楚可不可以在model里面切换数据库配置(发现了再来改).

4.引用外部扩展类

laravel5 根命名空间是App.

时间: 2024-10-10 16:33:46

laravel 学习笔记的相关文章

Laravel学习笔记(三)--在CentOS上配置Laravel

在Laravel框架上开发了几天,不得不说,确实比较优雅,处理问题逻辑比较清楚. 今天打算在CentOS 7上配置一个Laravel,之前都是在本机上开发,打算实际配置一下. 1)系统上已经安装了Apache.PHP.mysql,安装命令为yum install httpd php mysql 因为CentOS 7自带的php模块很少,如果需要增加模块,需要编译才行,所以需要php-devel模块,用yum install php-devel命令就可以了. 2)安装laravel a)安装com

Laravel学习笔记目录

伴随自己学习.使用laravel的过程,记录下遇到过的问题与思考.与程序猿们共勉,知识的道路没有止境,我们一直都在学习的路上. 第一部分:入门级 这部分文章写得都是比较浅显的,属于纯粹的使用,我也不知道自己什么时候能够登堂入室.先这么写着吧.后面的项目会用到利用laravel来进行app的服务端开发.到时可能也开一个专栏专门说说app服务端开发的那些事儿. 1. Laravel5学习笔记:Composer.json配置文件说明 2. Laravel5学习笔记:执行route:cache时报Log

Laravel学习笔记(二)

解决了类自动加载的问题,剩下的问题就是看文档了,laravel的官方文档虽然简单,但是却包含了很多基础知识,学习Laravel最好先看看官方文档,我感觉帮助很大,因为laravel框架的源码看起来并不容易,一层一层的套,看文档会快一些,如果想更详细的了解,可以考虑研究源码. 考虑到laravel框架的复杂性,最好不要使用编辑器,要用IDE来开发,因为IDE可以调试.跳转到类声明文件等等,还包括一些自动完成的功能.不过如果坚持要使用编辑器,推荐用sublime,常见的IDE有Netbeans.PH

laravel 学习笔记 —— 神奇的服务容器

转载自:https://www.insp.top/learn-laravel-container 容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器.一个容器能够装什么,全部取决于你对该容器的定义.当然,有这样一种容器,它存放的不是文本.数值,而是对象.对象的描述(类.接口)或者是提供对象的回调,通过这种容器,我们得以实现许多高级的功能,其中最常提到的,就是 “解耦” .“依赖注入(DI)”.本文就从这里开始. IoC 容器, laravel 的核心 Laravel 的核心就

Laravel学习笔记

1.Laravel 5 动态设置缓存引擎 \Config::set('cache.default','redis'); var_dump( \Config::get('cache.default') ); \Config::set('cache.default','memcached'); var_dump( \Config::get('cache.default') ); 2.Laravel 5 中 \ 和use Illuminate\Support\Facades\ 作用相同 3.Larav

laravel学习笔记(一)——安装以及部分配置

基本要求: php>=5.5.9 OpenSSL PHP 扩展 - PDO PHP 扩展 - Mbstring PHP 扩展 - Tokenizer PHP 扩展 启用mod_rewrite模块     sudo a2enmod rewrite 安装过程: 安装composer curl -sS http://getcomposer.org/install | php php -r "readfile"('http://getcomposer.org/install');&quo

Laravel 学习笔记之 Composer 自动加载

说明:本文主要以Laravel的容器类Container为例做简单说明Composer的自动加载机制. Composer的自动加载机制 1.初始化一个composer项目 在一个空目录下composer安装Laravel的容器Container包: composer require illuminate/container 然后在该目录下新建一个index.php文件,然后分析下Container类为何能被实例化: <?php /** * Created by PhpStorm. * User:

php Laravel安装教程学习笔记

在一切环境就绪了,当然就要开始了解框架了. 站在巨人的肩膀上,学东西会事半功倍.我在网上找到一篇好文章,正好可以让我轻松了解Laravel应用程序的体系结构.因此借来直接用了. 该章节内容翻译自<Architecture of Laravel Applications>,一切版权为原作者,由于原作者写这篇文章时Laravel版本还没有到4.1,一些地方有稍微差别,我会稍作修改. 原作者:Stable Host, LLC(不知道找对了没有) 翻译作者:Bowen Huang 正文: Larave

laravel3学习笔记(八)

原作者博客:ieqi.net ==================================================================================================== Web开发框最大的存在意义无疑是为开发者提供便利,这种被提供的便利不仅表现在对于整个应用接口上的梳理.组织和解耦,也表现在更多细微方便,比如各种工具的提供.Laravel3为开发者提供了各种有关web开发的工具,让开发者在开发应用时只需要关注于自身的业务,而不必在拘泥