laravel框架mvc

(一)控制器:

控制器是啥?

请求的二级分发者

创建控制器的方法:

(1)cmd中在项目根目录下输入
php artisan  make:controller  控制器名

  就可以创建了,

(2)手动创建啦。

RESTful资源控制器:

他其实就是在路由中写这么一条:Route::resource('user','UserController');

你在创建User控制器,他会给你创建出,以下路由规则:

使用php artisan route:list命令可以查出所有的路由规则, 如下:


这方法,一般在项目中运用的比较少!

(二)视图层

什么是视图层?

处理结果的可视化(网页代码生成)

创建视图:

(1):首先在Http/routes.php中写路由 Route::get('/my_home','MyController@index');

(2):在Http/Controllers中创建控制器MyController.php;



(3):在resour ces/views中创建my_welcome.blade.php,一定要写对V层命名规范;


如何将小明动态读取?

方法一:

(1)将小明换成变量名:

	<p>欢迎{{$name}}的到来</p>

(2)在控制器中:

	return view('my_welcome')->with('name',"xiaoming");

方法二:

	public function index()
	{
		$data =[
			'name'=>'小明','age'=>20
		];
		return view('my_welcome',$data);
	}

方法三:

	public function index()
	{
		$name="lala";
		return view('my_welcome',compact('name')/*['name'=>'lala']*/);	
	}

如何关闭_token验证:

在app/Http/Middleware/VerifyCsrfToken.php中加上以下代码:

use Closure;
public function handle($request, Closure $next)
{
     // 使用CSRF
     return parent::handle($request, $next);
     // 禁用CSRF
     return $next($request);
}



在V层(blade模板引擎)中的判断:

输出

(1)当@{{aaa}}时:默认是不解析的

(2)当{!! '<script>alert(123)</script>' !!}时:可以解析代码的,但是不建议使用这种方法,不安全:

(3)可以用{{{'<html lang="en">lala</html>'}}}进行转义:

控制流循环:

(1)if语句:

@if($name)
	{{$name}}
@else
	你叫啥?
@endif	

(2)foreach语句:

<ul>
	@foreach($list as $val)
		<li>{{$val}}</li>
	@endforeach
</ul>

子视图:@include可以进行文件包含

(三):model层

model层的创建:

在CMD中进入项目更目录输入以下命令可以创建(User表):

	php artisan  make:model  User

model中的增删改查

   //查询所有数据
    public function wordsTest()
    {
        //return $this->where('id','>',1)->get();                 //id大于1的
        return $this->get();     //或$this->all()                //返回所有数据
    }

    //添加数据
    public  function wordsAdd()
    {
        $data = ['username'=>'admin'];
        $this->fill($data);
        $this->save();
    }

    //修改一条
    public  function wordsUpda()
    {
        $this->find(14);
        $this->username = "home";
        $this->age = "10";
        $this->save();
    }
    //删除
    public  function wordsDel()
    {
        $user = $this->find(10);
        $user->delete();
    }

创建好model时,要注意以下几点:

(1)当创建好,系统会默认指定ID名为id,此时若与你数据库中标名不一致时,可以用以下代码来改正:

       //指定ID名,默认会是id,
      //默认id名与数据库id名不一致时:
       protected $primaryKey = 'u_id';

2当你对这张表进行操作时,laravel框架默认数据库中每个表都存在一个字段,需要关闭

      //laravel框架默认数据库中每个表都存在一个字段,需要关闭
       public $timestamps = false;

controller中调用model:

(1):引入model

	use App\Words;

(2):调用model中的wordsTest查询

   public function index()
   {
       $words = new Words();
       $users = $words->wordsTest();
       $users = $users->toArray();		//转换成数组形式
       var_dump($users);
   }





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值