关于laravel的引见就不讲了,总之laravel是款比较壮大的框架,它是外洋框架所以在装置的上面大概比较贫苦。
laravel的装置
起首装置laravel之前要装置composer,假如是linux体系即可直接下载装置,下载完后不能装置记得修正下文件权限用敕令chmod,这边重要讲下window下怎样运用composer这个东西。
起首百度搜刮中国composer镜像,就能够找到composer config -g repositories.packagist composerhttp://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目次底下举行装置(在此操纵之前要设置好环境变量)。
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则是过滤器。
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了。
laravel数据库设置
这边用到的是mysql,举行了简朴的设置
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'oss',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
)
laravel的数据库运用 数据表比较多时且数据表的前缀不一样,则能够先设置模子model,在models文件夹中竖立一个文件要与表名一样的php文件,内容以下:
use 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(); 加前提
谢谢人人的浏览,愿望人人有所收益。
本文转自:https://blog.csdn.net/Happy_CSDN/article/details/49363219
引荐教程:《php教程》
以上就是在php中怎样进修laravel框架(菜鸟初学者)的细致内容,更多请关注ki4网别的相干文章!
收藏 | 0