在php中如何学习laravel框架(菜鸟初学者)

在php中如何学习laravel框架(菜鸟初学者)

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

laravel的安装

首先安装laravel之前要安装composer,如果是linux系统即可直接下载安装,下载完后不能安装记得修改下文件权限用命令chmod,这边主要讲下window下如何使用composer这个工具。 

首先百度搜索中国composer镜像,就可以找到composer config -g repositories.packagist composer http://packagist.phpcomposer.com这条命令,运行cmd在命令行运行上面的命令,就可以下载composer工具,

立即学习PHP免费学习笔记(深入)”;

下载成功后可以看到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中的结构: 

在php中如何学习laravel框架(菜鸟初学者)
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文件,内容如下:
<?php use IlluminateAuthUserTrait; use IlluminateAuthUserInterface; use IlluminateAuthRemindersRemindableTrait; use IlluminateAuthRemindersRemindableInterface; class User extends Eloquent implements UserInterface, RemindableInterface {     use UserTrait, RemindableTrait;     /**      * The database table used by the model.      *      * @var string      */     protected $table = &#39;users&#39;;     /**      * The attributes excluded from the model&#39;s JSON form.      *      * @var array      */     protected $hidden = array(&#39;password&#39;, &#39;remember_token&#39;); }

即可以直接使用 User ::all() 查询所有结果  ,User::find(2)查询一个,Post::findOrFail(2)  

如果没找到就会返回错误,Post::save()、Post::where()->find()、Post::add()、Post::delete()

数据库的简便操作:  

DB::table(‘tablename’)-&gt;insert([         插入多个时要再加一个数组         ['title'=&gt;'title','name'=&gt;'name']         ['title'=&gt;'title']         ['title'=&gt;'title']         ])         插入时要想得到ID         DB::table('tablename')-&gt;insertGetId(['title'=&gt;'titles'])         更新数据要有ID         DB::table('tablename')-&gt;where('id',1)-&gt;update(['title'=&gt;'titles'])         删除数据         DB::table('tablename')-&gt;where('id',1)-&gt;delete();         查询数据         DB::table('tablename')-&gt;get();  得到全部的值         DB::table('tablename')-&gt;get(['title']); 只查询title的值         DB::table('tablename')-&gt;first();  只拿第一个         DB::table('tablename')-&gt;orderBy('id','desc')-&gt;first(); 根据id排序         DB::table('tablename')-&gt;where('id','!=',2)-&gt;get(); 不等于2         DB::table('tablename')-&gt;where('id','!=',2)-&gt;where('id','&gt;',5)-&gt;get(); 可以使用多个where         DB::table('tablename')-&gt;where('id','!=',2)-&gt;OrWhere('id','&gt;',5)-&gt;get(); 或者         DB::table('tablename')-&gt;whereBetween('id',[2,5])-&gt;get();  闭包之间         DB::table('tablename')-&gt;whereIn('id',[2,5,9])-&gt;get();         DB::table('tablename')-&gt;whereNotIn('id',[2,5,9])-&gt;get();         DB::table('tablename')-&gt;whereNull('id')-&gt;get();  为空的话就可以查询出来         DB::table('tablename')-&gt;take(3)-&gt;get();  只查询3个         DB::table('tablename')-&gt;limit(3)-&gt;get();  只查询3个         DB::table('tablename')-&gt;skip(2)-&gt;take(3)-&gt;get();  只查询3个跳过第二个         DB::table('tablename')-&gt;where('id','!=',2)-&gt;pluck('title'); 只返回它的title         DB::table('tablename')-&gt;count();  有多少条记录         DB::table('tablename')-&gt;max('id');         DB::table('tablename')-&gt;min('id');         DB::table('tablename')-&gt;avg('id');         DB::table('tablename')-&gt;sum('id');

多表关联 

在Post中定义 

public function comment(){ return $this-&gt;hasMany('Comment','post_id') }  正向关联   一对多   一对一是hasOne

在Comment中定义

public function post(){ return $this-&gt;belongsTo('Post','post_id') }   反向关联

取得关联值

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

感谢大家的阅读,希望大家有所收益。

本文转自:https://blog.csdn.net/Happy_CSDN/article/details/49363219

推荐教程:《php教程

以上就是在php中如何学习

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享