IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> Laravel8.3开发 -> 正文阅读

[PHP知识库]Laravel8.3开发

一、Laravel中文文档:https://learnku.com/docs/laravel/8.x/installation/9354
1.访问中文文档后,里面有详细的Laravel框架安装过程;
2.安装完成后,根据文档目录结构介绍配置文件进行配置;
3.配置完成相关配置文件后,就可以开始在Laravel框架上搭建自己的项目,例如配置config/database.php的数据库数据;
二、Laravel开发事项:
1.路由请求:
(1)web.php:web路由

#更多详细路由用法可以参考文档,这里仅列举常用路由用法
use App\Http\Controllers\Admin\Login;//引用对应路由所需控制器
Route::get('Admin/Admin', [Login::class, 'LoginList']);//get方式请求
Route::post('Admin/Admin', [Login::class, 'LoginList']);//post方式路由请求
Route::put('Admin/Admin', [Login::class, 'LoginList']);//put方式
Route::any('Admin/Admin', [Login::class, 'LoginList']);//支持所有请求方式
Route::prefix('Index')->group(function(){
    #接口
    Route::any('/Validity', [WebEntrance::class, 'Validity']); //路由组                                                               
});
Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) {
    return $postId . '-' . $commentId;
});//携带路由参数
Route::view('/welcome', 'welcome');//视图路由

(2)api.php:api路由
2.Request请求

namespace App\Http\Controllers;
    
use Illuminate\Http\Request;
    
class UserController extends Controller
{
    /**
     * 存储新用户
     *
     * @param Request $request
     * @return Response
     */
    public function store(Request $request)
    {   
       //获取所有参数
        $data=$request->all();
        //获取指定参数
        $name = $request->input('name');
        //视图渲染
        return view('Index/ProductCenter.Editor',['data'=>$data]);
    }
}

3.Cookie与Session用法差异:
(1)Laravel保存Cookie:

引入命名空间:use Illuminate\Support\Facades\Cookie;
保存cookie:
cookie::queue('u_id', $arr['UserData'][0]['u_id'],10080);10080是分,不是秒,区别于cookie与$_COOKIE用法,而且Laravel不支持cookie()$_COOKIE[]原生用法存储cookie
获取cookie
Cookie::get('u_id');Laravel不支持cookie()$_COOKIE[]原生用法存储cookie

(3)session保存和获取

session基本使用
获取session中的所有数据
$request->session()->all();
$value = session('key');
存储数据到session...不支持原生session()方法进行存储
session(['key' => 'value']);
$request->session()->put('key', 'value');
push 方法可用于推送数据到值为数组的session
$request->session()->push('user.teams', 'developers');
删除session中的数据项
$request->session()->forget('key'); //删除指定数据项数据
$request->session()->flush(); //删除所有数据

三、中间键的使用

在app/Http/Middleware 目录下创建一个新的中间件类 CheckAge
namespace App\Http;    
use Illuminate\Foundation\Http\Kernel as HttpKernel;   
class Kernel extends HttpKernel
{
   #全局中间键,这种使用比较少
    protected $middleware = [
        ...
        \App\Http\Middleware\CheckAge::class,
    ];
    #分配中间件到指定路由,用得较多,指定路由来使用中间键
    protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'kuayu' => \App\Http\Middleware\CrossDomaine::class,
    ];
    #路由中间件用法
    Route::group(['middleware'=>['kuayu']],function(){
    Route::any('Admin/Admin', [Login::class, 'LoginList']);                                          
    });

四、Laravel的DB查询用法

#获取结果集
$users = DB::table('users')->get();
#你可以像访问对象的属性一样访问字段的值:
foreach ($users as $user) {
    echo $user->name; // 输出用户名
}
#获取数组
$users = DB::table('users')->select('字段')->get()->map(function ($value){return (array)$value; })
->toArray();
#从一张表中获取一行/一列,可以使用 first 方法,该方法将会返回单个 StdClass 对象:
$user = DB::table('users')->where('name', '学院君')->first();
echo $user->name;
#获取单个字段值,value 方法从结果中获取单个值,该方法会直接返回指定列的值:
$email = DB::table('users')->where('name', '学院君')->value('email');
#如果你想要通过 id 字段来获取单条记录,可以使用 find 方法:主键必须为id
$user = DB::table('users')->find(3);
#连表查询
  public function RegisterData($code){
        return DB::table('table1 AS a')//取别名
          ->leftJoin('table2 AS b','a.id','=','b.b_id')//连表条件(右联和内联也是同样写法)
          ->select('a.id','a.o_id','b.u_id','b.p_id',DB::Raw('concat(c.g_name,"(",b.g_describe,")") AS pay_desc' ))//给字段取别名要用DB::Raw()方法
          ->where('a.registration_code',$code)
          ->get()
          ->map(function ($value){return (array)$value; })
          ->toArray();
    }
#分页请求$page_num:第几页 $rows:条数
public function GetLeaveMessage($page_num,$rows){
        return DB::table('table')
            ->select()
            ->orderBy('id','desc')
            ->paginate($rows,['id'],'page',$page_num);
    }  
   $Message=$Model->GetLeaveMessage($page_num,$rows);
   $total=$Message->total();//总条数
   $data=$Message->items();//所有记录数
#插入数据
DB::table('table')->insertGetId($data); 
DB::table('table')->insert($data);  
#更新数据
DB::table('table')->where($where)->update($data)
 #删除数据
DB::table('table')->where($where)->delete($data)  
  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 10:36:11  更:2022-01-24 10:37:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:47:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码