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 基础知识梳理 ...
随机推荐
- 用promise封装ajax
首先贴代码 var ajaxOptions = { url: 'url', method: 'GET', async: true, data: null, dataType: 'text', } fu ...
- Codevs1081 线段树练习 2
题目描述 Description 给你N个数,有两种操作 1:给区间[a,b]的所有数都增加X 2:询问第i个数是什么? 输入描述 Input Description 第一行一个正整数n,接下来n行n ...
- Win2008 Server配置PHP环境
Win2008 Server配置PHP环境 阅读目录 创建一个网站 配置PHP环境 配置iis的“处理应用程序映射” 在配置PHP环境之前要先配置好IIS. 传送门-> Win2008 Se ...
- OverflowError:django signed integer is greater than maximum
在学习一对一查询的时候,打印作者的电话时报了这个错 alex = Author.objects.filter(name='alex').first() print(alex.authordetail. ...
- Linux学习-核心编译的前处理与核心功能选择
硬件环境检视与核心功能要求 根据自己的需求来确定编译的选项 保持干净原始码: make mrproper 我们还得要处理一下核心原始码底下的残留文件才行!假设我们是第一次 编译, 但是我们不清楚到底下 ...
- linux学习-用户的特殊 shell 与 PAM 模块
特殊的 shell, /sbin/nologin 『无法登入』指的是:『这个使用者无法使用 bash 或其他 shell 来登入系统』而已, 并不是说这个账号就无法使用其他的系统资源! 让某个具有 / ...
- kettle-学习参考
一 关于Kettle Kettle是一款国外开源的ETL工具,纯java编写,数据抽取高效稳定的数据迁移工具.Kettle中有两种脚本文件,transformation和job,transf ...
- HDU 1561 The more, The Better(树形背包)
The more, The Better Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- luogu3469 [POI2008]BLO-Blockade
#include <iostream> #include <cstring> #include <cstdio> using namespace std; type ...
- 用javascript写计算器
本人新手,如果有什么不足的地方,希望可以得到指点 今天尝试用javascript写一个计算器 首先把计算器的按钮做出来,用button做好了,这样可以不用设置太多的样式 <button valu ...