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 基础知识梳理 ...
随机推荐
- 20180904 定时器setTimeout和setInterval回调问题
引用: setTimeout和setInterval两者的区别 setTimeout和setInterval的优缺点 setTimeout和setInterval详解 两者的作用都是在定时多少毫秒后回 ...
- mysql中的的按小数位截取
format()函数返回类型是字符串,满三位会加一个逗号. 针对数字类型转换建议使用 convert或者cast函数,用法如下: format(param, 2) (不建议) convert(para ...
- Linux下同进程多进程号实时监控
一.需求: Linux上对一个进程名称可能会对应的多个进程号的进程进行监控,如果有多个则输出到一个日志文件. 以上问题针对的是一个定时程序还未运行结束,到下一个时刻程序又运行起来了,避免造成重复调用接 ...
- Windows 10+Ubuntu双系统修复Ubuntu启动引导
U盘启动,联网 $ sudo su sudo add-apt add-apt-repository ppa:yannubuntu/boot-repair apt-get update apt-get ...
- 《Spring源码深度解析》第三章 默认标签的解析
上一章提到了,默认标签和自定义标签要分开解析.本章重点介绍默认标签的解析.在 DefaultBeanDefinitionDocumentReader 中: private void parseDefa ...
- Go IO && bufio
IO IO包 是对数据流的操作.从哪里来, 怎么处理,再到哪里去. 图片来源 https://medium.com/learning-the-go-programming-language/strea ...
- leetcode-7-hashTable
解题思路: 这道题需要注意的是s和t长度相等,但都为空的情况.只需要扫描一遍s建立字典(char, count),然后扫描t,如果有 未出现的字母,或者键值小于0,就可以返回false了. bool ...
- IOC容器和Bean的配置实例
实验1: <!--实验1:通过IOC容器创建对象,并为属性赋值 --> <!-- 需要由IOC容器创建对象的全类名 --> <!-- 为了便于从IOC容器中获取book对 ...
- stm32之PWM学习
下图是一个STM32普通PWM形成的图形原理说明 自动重装载寄存器(ARR)用于确定波形的频率(即周期).捕获比较寄存器(CCRx)(用于确定占空比的) PWM的工作过程如下:首先ARR寄存器里面的值 ...
- centos7 killall 命令
centos7精简安装后,使用中发现没有killall命令. 安装这个包即可: yum install psmisc