Laravel 基础知识
使用版本Laravel5.1。
======================================================
目录简单介绍:
app目录,核心目录,应用目录。
bootstrap目录,启动和自动加载目录。
config目录,各种配置文件。
database目录,数据库迁移文件。
resource目录,mvc中的视图文件。
========================================================
控制器目录:
\app\Http\Controllers\。
//控制器基类是:
\app\Http\Controllers\Controller.php。
//控制器的命名空间:
namespace App\Http\Controllers\模块名;
(注意项目的目录app首字母是小写,命名空间是大写)
=======================================================
Laravel框架中的route路由:
//直接输出字符串
Route::get('info',function(){
return 'info';
});
//输出视图(\Resource\views\info.blade.php)
Route::get('info',function(){
return view('info');
});
//请求方式
Route::get('info',function(){});
Route::post('info',function(){});
Route::match(['get','post'],'info',function(){});
Route::any('info',function(){});
//访问控制器
方式一(参数为字符串):
Route::get('member/info','MemberController@info');
方式二(参数为数组):
Route::get('member/info',['uses'=>'MemberController@info']);
//路由参数
Route::get('info/{id}',function($id){});//必传
Route::get('info/{id?}',function($id=null){});//非必传
Route::get('info/{id?}',function($id=null){})->where('name','[A-Za-z]+');//正则验证
//多个验证,使用数组
Route::get('info/name/{id?}',function($name='',$id=null){})
->where(['name'=>'[A-Za-z]+','id'=>'[0-9+]']);//正则验证
//路由别名
Route::get('user/member',['as'=>'member',function(){});
//路由群组
Route::group(['prefix'=>'member'],function(){
Route::get('info',function(){});//访问地址是member/info
Route::post('user',function(){});//访问地址是member/user
});
===========================================================
Laravel框架的视图命名:
名字.blade.php
(注意后缀)
=========================================================
Laravel框架的模型:
默认目录就是\app\下;
基类模型是:
use Illuminate\Database\Eloquent\Model;
=========================================================
Laravel的数据库配置:
基础的配置文件是根目录下的.env文件,
配置数据库的主机名、数据库名、用户名、密码。
在根目录下的config目录下的database.php文件中,配置数据库前缀和字符集等。
=====================================================================
可以使用dd()方法输出数据。
======================================================================
数据库原生语句的执行:
DB::select(sql语句);
DB::insert('insert into user(name,age) values (?,?)',['zhang san',18]);
DB::update('update user set age=? where name=?',[20,'zhang san']);
DB::delete(sql语句);
DB类是:
use Illuminate\Support\Facades\DB;
=====================================================================
Laravel中的查询构造器:
DB::table('user')->insert(['name'=>'haha','age'=>12]);
DB::table('user')->insertGetId(['name'=>'haha','age'=>12]);
DB::table('user')->where('id',1)->update(['name'=>'haha','age'=>12]);
使用get()获取所有数据;
使用first()获取一行数据;
使用lists()获取列数据;
使用select()获取指定的一些字段(注意每个字段都是单独的字符串);
示例:
DB::table('user')->where('id',1)->select('id','name','age')->get();
=====================================================================
同一个命名空间下的控制器,可以直接继承,不需要使用use引进来。
=====================================================================
使用config()函数获取配置:
config('文件名.参数');
=====================================================================
引入公共函数
在index.php中:
require __DIR__.'/../app/Common/functions.php';
=========================================================================
Laravel 基础知识的更多相关文章
- 关于laravel基础知识
laravel任务管理知识点 1.配置数据库环境 首先要找到congif/app.php,在这里会发现一些全局的系统设置,包括语言,时区等. 重要的是会发现前几个数组都使用了env()这个函数,这个时 ...
- laravel基础知识学习总结(路由、中间件、控制器)
路由: 路由:是将信息从源地址传递到目的地得角色 Route::get('/test',function(){ }); //分号不能丢 报错信息MethodNotAllowedHttpExcept ...
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
随机推荐
- NOIP模拟赛 czy的后宫6
czy的后宫6 题目描述 众所周知的是丧尸czy有很多妹子(虽然很多但是质量不容乐观QAQ),今天czy把n个妹子排成一行来检阅.但是czy的妹子的质量实在……所以czy看不下去了.检阅了第i个妹子会 ...
- NOIP模拟赛 某种数列问题
众所周知,chenzeyu97有无数的妹子(阿掉!>_<),而且他还有很多恶趣味的问题,继上次纠结于一排妹子的排法以后,今天他有非(chi)常(bao)认(cheng)真(zhe)去研究一 ...
- LeetCode1090. 受标签影响的最大值
问题: 我们有一个项的集合,其中第 i 项的值为 values[i],标签为 labels[i]. 我们从这些项中选出一个子集 S,这样一来: |S| <= num_wanted 对于任意的标签 ...
- 如何用 CSS 和 D3 创作旋臂粒子动画
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/xJrOqd 可交互视频 ...
- Yii2.0 的安装学习
视频学习地址: 后盾网视频: http://www.houdunren.com/houdunren18_lesson_76?vid=7350 与<Yii框架>不得不说的故事—基础篇 htt ...
- 多线程辅助类之CountDownLatch(三)
CountDownLatch信号灯是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待.它可以实现多线程的同步互斥功能,和wait和notify方法实现功能类似,具体 ...
- 七周成为数据分析师06_MySQL
关于 MySQL 的知识,主要也是一些实操和练习. 因为个人之前已经专门练习过 MySQL 操作,这里就不做笔记,之后另写一篇博文记录 MySQL 知识. 同时附上本课程对应的文字教程: 如何七周成为 ...
- OpenStack, kvm, qemu-kvm以及libvirt之关系
OpenStack, kvm, qemu-kvm以及libvirt之关系: KVM是最底层的hypervisor,它是用来模拟CPU的运行,它缺少了对network和周边I/O的支持,所以我们是没法直 ...
- ACM训练联盟周赛 A. Teemo's bad day
65536K Today is a bad day. Teemo is scolded badly by his teacher because he didn't do his homework ...
- poj 3107 Godfather(树的重心)
Godfather Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7885 Accepted: 2786 Descrip ...