首页 > 编程知识 正文

laravel使用swoole,Linux框架搭建laravel

时间:2023-05-06 01:17:10 阅读:157485 作者:1073

laravel框架是目前php框架中非常流行的框架一、基础篇

1、概念

Laravel是一个具有美好前景的年轻框架,社区在充满活力的同时,提供了完整清晰的文档,并提供了快速安全地开发现代APP应用所需的功能。

2011年,Taylor Otwell首次将Laravel带到了这个世界。 那时,Laravel是一个全新的现代框架。 Laravel基于MVC架构,在满足事件处理、用户身份验证等各种需求的同时,通过包管理实现了模块化、可扩展的代码,为数据库管理提供了坚实的支持。

不管是专家还是初学者,一接触Laravel,就会觉得见面很晚。 ——这就是你在为PHP项目寻找的框架。

2、安装1、找到安装包傻装

2、计算机安装

安装包命令: composer create-projectlaravel/laravelblog

composer一般在项目中使用composer.json

eg:require 关键字:哪些包是你项目所需要的

{

"require":{

' monolog/monolog':'1.0.* '

}

}

安装命令:找到composer.json位置 执行安装命令 composer install

3358 www.Sina.com/http://www.Sina.com//-prot=8080 (端口设置) ) ) ) ) )。

3、修改端口 php artisan serve 命令 laravel

(1)eg:php artisan serve

(2)eg:php artisan make:model Article (建立model)

什么是迁移

去看看你的 app 目录,下面是不是多了一个 Article.php 文件?那就是 Artisan 帮我们生成的 Model 文件

(3)eg:php artisan migrate(数据库的迁移)

打开learnlaravel5/database/migrations/2014_10_12_000000_create_users_table.php文件,你肯定能一眼看出它的作用:用 PHP 描述数据库构造,并且使用命令行一次性部署所有数据库结构

(4)模拟插入数据

phpartisanmake : seederarticleseeder

phpartisandb:seed

)5)基于eg:phpartisanmake :控制器管理/home控制器的构建

)6) eg:php artisan make:auth激活了laravel的auto系统(laravel利用PHP5.4的新功能,trait内置了非常完善、易用的用户注册功能,便于公司内部使用

)7) eg:php artisan --version查看当前版本

模拟插入数据

4、门户文件、数据库连接、默认根目录定义

1、laravel门户文件public下的index.php

一访问目录下的public,laravel就跑了起来

2、连接数据库

. env文件

DB_HOST=127.0.0.1

DB_DATABASE=laravel5

DB_USERNAME=root

DB_PASSWORD=root

ong168/article/details/53197366


3、定义路由 (laravel受欢迎的主要原因)

     路由位置:app/Https/routes.php

    Route::any('/', 'HomeController@add'); 定义任何方式都能访问的默认控制器和默认方法

    Route::post('/add', 'HomeController@add');  定义 post方式方法

    Route::get('/delete/{id}','HomeController@del');   定义get方式接值:缺点必须在方法参数中写入所接值

    定义路由组

    Route::group(['middleware' => 'auth', 'namespace' => 'Admin', 'prefix' => 'admin'], function() {
    Route::get('/', 'HomeController@index');
    });

    定义路由得方式有很多详细见:https://laravel-china.org/docs/5.1/routing#route-groups



二、因为laravel框架是基于MVC的下面我们就从其着手分析

1、框架目录篇

    

2、MVC篇

    控制器位置:app/Http/controllers/建立控制器

    一、控制器

     (1)Controller 控制器原理解析:

     我们通过路由找到控制器那么我们这个路由位置在哪里?

      app/Providers/RouteServiceProvider.php (路由服务供应者)

protected $namespace = 'AppHttpControllers'; 将路由空间指向了控制器位置 找到空间之后命名空间、类、方法是如何传递的呢? vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(分配器) /** * Dispatch a request to a given controller and method. * * @param IlluminateRoutingRoute $route * @param IlluminateHttpRequest $request * @param string $controller * @param string $method * @return mixed */public function dispatch(Route $route, Request $request, $controller, $method){ $instance = $this->makeController($controller); return $this->callWithinStack($instance, $route, $request, $method); // var_dump($controller);} 此方法就是传递路由中定义的控制器、方法下面我们以HomeController.php为例:class HomeController extends Controller所继承的Controller位置在 : vendor/laravel/framework/src/Illuminate/Routing/Controller.php controller.php 中定义了一个抽象类,其下方法有注册中间器在控制器中、执行一个方法在控制器中,等 eg:/** * Execute an action on the controller. * * @param string $method * @param array $parameters * @return SymfonyComponentHttpFoundationResponse */public function callAction($method, $parameters){ return call_user_func_array([$this, $method], $parameters);} (2)建立控制器的两种方式: 1、在app/Http/controllers/建立TestController.php<?phpnamespace AppHttpControllers;use AppHttpRequests;use IlluminateHttpRequest;class TestController extends Controller{ public function show(){ echo 123; }}
在routes.php中定义路由:Route::get('/test', 'TestController@show'); 2、在cmd窗口进入到当前框架目录下  eg:php artisan make:controller Admin/HomeController ("位置app/Http/controllers/",控制名) (3)控制器操作: 重定向: return redirect()->action('HomeController@show');
return redirect('show')
显示视图层以及传值: return view('upda',["list"=>$list]); 二、view视图层
(1) 视图层位置:resources/views
文件后缀为 .blade.php 控制器中显示视图 输入名字就行
如果是在views下新建文件夹控制器跳转(所见文件夹/视图名)
(2)公共模板 公共视图位置:resources/views/layouts/ eg:app.blade.php <body>@yield('content')</body> 公共视图引用: //继承公用模板 @extends('layouts.app') app是 resources/views/layouts/app.blade.php 可以换成其他的 @section('content')
不一样的内容
@endsection
此时不一样的内容会替换公共模板中的 @yield('content')


视图中显示值
<form action="{{URL('/add')}}" method="post" >

<a rel="external nofollow" href="{{URL('/del')}}?id={{$v->id}}">删除</a>
<a rel="external nofollow" href="{{ url('article/'.$article->id) }}">
eg:{{ $v->id }}


@if(条件) ...@else ...@endif

eg:@foreach ($data as $v)
         <tr>
            <td>{{ $v->id }}</td>
            <td>{{ $v->title }}</td>
            <td>{{ $v->message}}</td>
            <td>{{ $v->time}}</td>
            <td><a rel="external nofollow" href="delete/{{ $v->id }}">删除</a>|<a rel="external nofollow" href="upda/{{ $v->id }}">修改</a></td>
         </tr>
  @endforeach

@for ($i = 0; $i < 10; $i++) The current value is {{ $i }}@endfor
三、model层使用请见博客















    

 


    















   

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。