当前位置:Gxlcms > PHP教程 > 教你玩转php中laravel框架(分享)

教你玩转php中laravel框架(分享)

时间:2021-07-01 10:21:17 帮助过:22人阅读

本篇文章给大家分享教你玩转php中laravel框架的学习(分享)有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

关于laravel的介绍就不讲了,总之laravel是款比较强大的框架,它是国外框架所以在安装的上面可能比较麻烦。

  1. laravel的安装

    首先安装laravel之前要安装composer,如果是linux系统即可直接下载安装,下载完后不能安装记得修改下文件权限用命令chmod,这边主要讲下window下如何使用composer这个工具。
    首先百度搜索中国composer镜像,就可以找到composer config -g repositories.packagist composer http://packagist.phpcomposer.com这条命令,运行cmd在命令行运行上面的命令,就可以下载composer工具,下载成功后可以看到composer文件底下有个composer.json文件这是一个配置文件,打开配置文件写明php版本信息和要下载的laravel信息,格式如下:

  1. {
  2. "name": "laravel/laravel",
  3. "description": "The Laravel Framework.",
  4. "keywords": ["framework", "laravel"],
  5. "license": "MIT",
  6. "type": "project",
  7. "require": {
  8. "php": ">=5.5.9",
  9. "laravel/framework": "5.1.*"
  10. },
  11. "require-dev": {
  12. "fzaninotto/faker": "~1.4",
  13. "mockery/mockery": "0.9.*",
  14. "phpunit/phpunit": "~4.0",
  15. "phpspec/phpspec": "~2.1"
  16. },
  17. "autoload": {
  18. "classmap": [
  19. "database"
  20. ],
  21. "psr-4": {
  22. "App\\": "app/"
  23. }
  24. },
  25. "autoload-dev": {
  26. "classmap": [
  27. "tests/TestCase.php"
  28. ]
  29. },
  30. "scripts": {
  31. "post-install-cmd": [
  32. "php artisan clear-compiled",
  33. "php artisan optimize"
  34. ],
  35. "pre-update-cmd": [
  36. "php artisan clear-compiled"
  37. ],
  38. "post-update-cmd": [
  39. "php artisan optimize"
  40. ],
  41. "post-root-package-install": [
  42. "php -r \"copy('.env.example', '.env');\""
  43. ],
  44. "post-create-project-cmd": [
  45. "php artisan key:generate"
  46. ]
  47. },
  48. "config": {
  49. "preferred-install": "dist"
  50. },
  51. "repositories": [
  52. {"type": "composer", "url": "http://packagist.phpcomposer.com"},
  53. {"packagist": false}
  54. ]
  55. }

配置好之后输入composer install 进行安装laravel,这边要比较注意的是安装目录的路径问题,如果你想安装在d盘底下就在把命令行切到d目录底下进行安装(在此操作之前要配置好环境变量)。
2. laravel的目录结构介绍
安装完的第一次肯定是要想怎么去运行它,很简单,直接进入public文件就可以打开一个开始页面,如果在本地的话那就是localhost/laravelproject/public,就可以运行。接下来介绍下laravel目录结构,首先介绍下public的index.php文件 里面主要是加载了开始文件然后才能成功运行laravel,具体的两个文件你可以在根目录下bootstrap文件夹中找到。现在看下app中的结构:
这里写图片描述
view中主要放的是视图文件(创建文件时要用到blade模板,比如创建test.blade.php,laravel中是结合blade模板引擎来调用视图模板),controller放的是控制器(手动创建时记得要用composer 命令进行更新),config中主要是配置文件(比如配置数据库时要用到database.php文件),models主要是放模型(也就是数据库的表),routes则是路由配置,filters则是过滤器。
3. laravel是怎么运行的
刚学习时肯定是要先尝试下如何运行这个laravel,首先手动创建一个controller,文件命名为TestController.php,然打开命令行进入项目的根目录下 执行 composer dumpautoload,里面内容可以模仿homeController.php。然后编辑routes.php文件,将原来的Route::GET(‘/’,function()…);修改为Route::Get(‘/’,’TestController@showWelcome’); 然后运行也会跳到laravel欢迎界面。如果Route::Get(‘test’,’TestController@showWelcome’);则在网站根目录下后面直接增加test就可以访问了,到了这里应该明白了怎么到Controller,Controller怎么到View了。
4. laravel数据库配置

这边用到的是mysql,进行了简单的配置

  1. 'mysql' => array(
  2. 'driver' => 'mysql',
  3. 'host' => 'localhost',
  4. 'database' => 'oss',
  5. 'username' => 'root',
  6. 'password' => '',
  7. 'charset' => 'utf8',
  8. 'collation' => 'utf8_unicode_ci',
  9. 'prefix' => '',
  10. )
  1. laravel的数据库使用
    数据表比较多时且数据表的前缀不一样,则可以先配置模型model,在models文件夹中建立一个文件要与表名一样的php文件,内容如下:
  1. <?php
  2. use Illuminate\Auth\UserTrait;
  3. use Illuminate\Auth\UserInterface;
  4. use Illuminate\Auth\Reminders\RemindableTrait;
  5. use Illuminate\Auth\Reminders\RemindableInterface;
  6. class User extends Eloquent implements UserInterface, RemindableInterface {
  7. use UserTrait, RemindableTrait;
  8. /**
  9. * The database table used by the model.
  10. *
  11. * @var string
  12. */
  13. protected $table = 'users';
  14. /**
  15. * The attributes excluded from the model's JSON form.
  16. *
  17. * @var array
  18. */
  19. protected $hidden = array('password', 'remember_token');
  20. }

即可以直接使用 User ::all() 查询所有结果 ,User::find(2)查询一个,Post::findOrFail(2) 如果没找到就会返回错误,Post::save()、Post::where()->find()、Post::add()、Post::delete()

数据库的简便操作: DB::table(‘tablename’)->insert([

  1. 插入多个时要再加一个数组
  2. ['title'=>'title','name'=>'name']
  3. ['title'=>'title']
  4. ['title'=>'title']
  5. ])
  6. 插入时要想得到ID
  7. DB::table('tablename')->insertGetId(['title'=>'titles'])
  8. 更新数据要有ID
  9. DB::table('tablename')->where('id',1)->update(['title'=>'titles'])
  10. 删除数据
  11. DB::table('tablename')->where('id',1)->delete();
  12. 查询数据
  13. DB::table('tablename')->get(); 得到全部的值
  14. DB::table('tablename')->get(['title']); 只查询title的值
  15. DB::table('tablename')->first(); 只拿第一个
  16. DB::table('tablename')->orderBy('id','desc')->first(); 根据id排序
  17. DB::table('tablename')->where('id','!=',2)->get(); 不等于2
  18. DB::table('tablename')->where('id','!=',2)->where('id','>',5)->get(); 可以使用多个where
  19. DB::table('tablename')->where('id','!=',2)->OrWhere('id','>',5)->get(); 或者
  20. DB::table('tablename')->whereBetween('id',[2,5])->get(); 闭包之间
  21. DB::table('tablename')->whereIn('id',[2,5,9])->get();
  22. DB::table('tablename')->whereNotIn('id',[2,5,9])->get();
  23. DB::table('tablename')->whereNull('id')->get(); 为空的话就可以查询出来
  24. DB::table('tablename')->take(3)->get(); 只查询3个
  25. DB::table('tablename')->limit(3)->get(); 只查询3个
  26. DB::table('tablename')->skip(2)->take(3)->get(); 只查询3个跳过第二个
  27. DB::table('tablename')->where('id','!=',2)->pluck('title'); 只返回它的title
  28. DB::table('tablename')->count(); 有多少条记录
  29. DB::table('tablename')->max('id');
  30. DB::table('tablename')->min('id');
  31. DB::table('tablename')->avg('id');
  32. DB::table('tablename')->sum('id');

多表关联
在Post中定义
public function comment(){ return $this->hasMany('Comment','post_id') } 正向关联 一对多 一对一是hasOne
在Comment中定义
public function post(){ return $this->belongsTo('Post','post_id') } 反向关联

  1. 取得关联值
  2. Post::find(2)->comment 就可以得到Comment这张表的内容 //这样查询一个是可以的 查询多个就要设置预载入
  3. 查询多个
  4. Post::with('comment')->get();
  5. Post::with(['comment'=>function($query){$query->where('id','>',2)}])->get(); 加条件

推荐学习:《PHP视频教程》


以上就是教你玩转php中laravel框架(分享)的详细内容,更多请关注gxlcms其它相关文章!

人气教程排行