您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2025/5/23 4:07:11发布24次查看
本篇文章给大家分享教你玩转php中laravel框架的学习(分享)有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
关于laravel的介绍就不讲了,总之laravel是款比较强大的框架,它是国外框架所以在安装的上面可能比较麻烦。
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信息,格式如下:
{ "name": "laravel/laravel", "description": "the laravel framework.", "keywords": ["framework", "laravel"], "license": "mit", "type": "project", "require": { "php": ">=5.5.9", "laravel/framework": "5.1.*" }, "require-dev": { "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "phpspec/phpspec": "~2.1" }, "autoload": { "classmap": [ "database" ], "psr-4": { "app\\": "app/" } }, "autoload-dev": { "classmap": [ "tests/testcase.php" ] }, "scripts": { "post-install-cmd": [ "php artisan clear-compiled", "php artisan optimize" ], "pre-update-cmd": [ "php artisan clear-compiled" ], "post-update-cmd": [ "php artisan optimize" ], "post-root-package-install": [ "php -r \"copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "php artisan key:generate" ] }, "config": { "preferred-install": "dist" }, "repositories": [ {"type": "composer", "url": "http://packagist.phpcomposer.com"}, {"packagist": false} ]}
配置好之后输入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,进行了简单的配置
'mysql' => array('driver' => 'mysql','host' => 'localhost','database' => 'oss','username' => 'root','password' => '','charset' => 'utf8','collation' => 'utf8_unicode_ci','prefix' => '',)
laravel的数据库使用
数据表比较多时且数据表的前缀不一样,则可以先配置模型model,在models文件夹中建立一个文件要与表名一样的php文件,内容如下:<?phpuse illuminate\auth\usertrait;use illuminate\auth\userinterface;use illuminate\auth\reminders\remindabletrait;use illuminate\auth\reminders\remindableinterface;class user extends eloquent implements userinterface, remindableinterface { use usertrait, remindabletrait; /** * the database table used by the model. * * @var string */ protected $table = 'users'; /** * the attributes excluded from the model's json form. * * @var array */ protected $hidden = array('password', 'remember_token');}
即可以直接使用 user ::all() 查询所有结果 ,user::find(2)查询一个,post::findorfail(2) 如果没找到就会返回错误,post::save()、post::where()->find()、post::add()、post::delete()
数据库的简便操作: db::table(‘tablename’)->insert([
插入多个时要再加一个数组 ['title'=>'title','name'=>'name'] ['title'=>'title'] ['title'=>'title'] ]) 插入时要想得到id db::table('tablename')->insertgetid(['title'=>'titles']) 更新数据要有id db::table('tablename')->where('id',1)->update(['title'=>'titles']) 删除数据 db::table('tablename')->where('id',1)->delete(); 查询数据 db::table('tablename')->get(); 得到全部的值 db::table('tablename')->get(['title']); 只查询title的值 db::table('tablename')->first(); 只拿第一个 db::table('tablename')->orderby('id','desc')->first(); 根据id排序 db::table('tablename')->where('id','!=',2)->get(); 不等于2 db::table('tablename')->where('id','!=',2)->where('id','>',5)->get(); 可以使用多个where db::table('tablename')->where('id','!=',2)->orwhere('id','>',5)->get(); 或者 db::table('tablename')->wherebetween('id',[2,5])->get(); 闭包之间 db::table('tablename')->wherein('id',[2,5,9])->get(); db::table('tablename')->wherenotin('id',[2,5,9])->get(); db::table('tablename')->wherenull('id')->get(); 为空的话就可以查询出来 db::table('tablename')->take(3)->get(); 只查询3个 db::table('tablename')->limit(3)->get(); 只查询3个 db::table('tablename')->skip(2)->take(3)->get(); 只查询3个跳过第二个 db::table('tablename')->where('id','!=',2)->pluck('title'); 只返回它的title db::table('tablename')->count(); 有多少条记录 db::table('tablename')->max('id'); db::table('tablename')->min('id'); db::table('tablename')->avg('id'); 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') } 反向关联
取得关联值 post::find(2)->comment 就可以得到comment这张表的内容 //这样查询一个是可以的 查询多个就要设置预载入 查询多个 post::with('comment')->get(); post::with(['comment'=>function($query){$query->where('id','>',2)}])->get(); 加条件
推荐学习:《php视频教程》
以上就是教你玩转php中laravel框架(分享)的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product