精华内容
下载资源
问答
  • Laravel初始化安装

    2018-07-05 12:02:46
    Laravel初始化安装 composer 安装 composer中国镜像laravel文档 curl -sS https://getcomposer.org/installer | php # 修改 composer 的全局配置文件,修改为中国源 composer config -g repo.packagist composer h....

    Laravel的初始化安装

    composer 安装

    composer中国镜像
    laravel文档

    curl -sS https://getcomposer.org/installer | php
    # 修改 composer 的全局配置文件,修改为中国源
    composer config -g repo.packagist composer https://packagist.phpcomposer.com

    安装 Laravel

    Laravel 利用 Composer 来管理依赖。所以,在使用 Laravel 之前,请确保你的机器上安装了 Composer
    有两种方式可以按照laravel.

    通过 Laravel 安装器

    首先,使用 Composer 下载 Laravel 安装程序:

    composer global require "laravel/installer"

    确保 $HOME/.composer/vendor/bin 目录(或你的操作系统的等效目录)已经放在你的环境变量 $PATH 中,以便系统可以找到 laravel 的可执行文件。

    安装之后, laravel new 命令会在你指定的目录中创建一个新的 Laravel 项目。例如,laravel new blog 命令会创建一个名为 blog 的目录,其中包含所有已经安装好的 Laravel 的依赖项:

    laravel new blog

    通过 Composer 创建项目

    或者,你还可以通过在终端中运行 create-project 命令来安装 Laravel

    composer create-project --prefer-dist laravel/laravel blog "5.5.*"

    本地开发服务器

    如果你在本地安装了 PHP,并且想使用 PHP 内置的开发服务器来为你的应用程序提供服务,那就使用 Artisan 命令 serve。这个命令会在 http://localhost:8000 上启动开发服务器:

    php artisan serve
    展开全文
  • 1. Laravel初始化安装 - Laravel从零开始教程php laravel1要学习Laravel,那么第一步就是要在我们的开发机上安装并运行Laravel,首先我们会先安装composer,再使用laravel框架提供的安装小工具,通过使用laravel ...
    1

    要学习Laravel,那么第一步就是要在我们的开发机上安装并运行Laravel,首先我们会先安装composer,再使用laravel框架提供的安装小工具,通过使用laravel new project就能生成我们的laravel工程了。

    Laravel的官方网站上的文档中已经很详细的介绍了如何安装Laravel, 不过laravel文档可能讲解的并不是那么的细致。这里我们还是按部就班的看看如果去安装Laravel.

    安装Laravel需要的php版本和需要的php扩展如下:

    • php>=5.59

    • Open SSl php扩展

    • PDO php扩展

    • Mbstring PHP扩展

    • Tokenizer PHP扩展

    我们进入终端,输入php -v就能查看你本机的php版本了

    ➜ php -v                            
    PHP 7.0.12 (cli) (built: Nov  5 2016 22:18:02) ( NTS DEBUG )
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

    如果你需要重新安装配置php开发环境,你可以看我的下面这篇文章:
    Mac OS Sierra使用HomeBrew安装ZSH + MNMP (Mac + Nginx + Mysql + Php) 开发环境

    Laravel使用了php包依赖管理工具composer,关于composer的安装和基本用法,
    你可以查阅下我写的composer教程

    当然,我们也可以先安装起来composer, 使用下面两条命令即可:

    curl -sS https://getcomposer.org/installer | php  # 下载composer.phar
    mv composer.phar /usr/local/bin/composer   # 移动composer.phar 并更名为composer,让composer可以全局使用

    当你安装完composer, 你在终端运行composer命令,就能出现以下的composer命令列表:

    ➜ composer
       ______
      / ____/___  ____ ___  ____  ____  ________  _____
     / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                        /_/
    Composer version 1.2.2 2016-11-03 17:43:15
    
    Usage:
      command [options] [arguments]
    
    Options:
      -h, --help                     Display this help message

    安装完composer后,我们就能够使用composer global require "laravel/installer" 来安装Laravel安装器了,这里的global代表我们全局安装Laravel/installer, 这样我们在终端的任何路径下都可以使用laravel安装器了. 我们来试一下这个命令(下面这条命令你只要运行一次就可以了):

    ➜ composer global require "laravel/installer"
    
    Changed current directory to /Users/zhoujiping/.composer
    Using version ^1.3 for laravel/installer
    ./composer.json has been created
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
      - Installing symfony/process (v3.1.6)
        Downloading: 100%         
    
      - Installing psr/log (1.0.2)
        Downloading: 100%         
    
      - Installing symfony/debug (v3.1.6)
        Downloading: 100%         
    
      - Installing symfony/polyfill-mbstring (v1.2.0)
        Downloading: 100%         
    
      - Installing symfony/console (v3.1.6)
        Downloading: 100%         
    
      - Installing guzzlehttp/promises (1.2.0)
        Loading from cache
    
      - Installing psr/http-message (1.0.1)
        Downloading: 100%         
    
      - Installing guzzlehttp/psr7 (1.3.1)
        Loading from cache
    
      - Installing guzzlehttp/guzzle (6.2.2)
        Downloading: 100%         
    
      - Installing laravel/installer (v1.3.4)
        Downloading: 100%         
    
    symfony/console suggests installing symfony/event-dispatcher ()
    Writing lock file
    Generating autoload files

    这时候我们在终端运行laravel new Project命令的时候,可能会出现找不到命令的提示,所以我们要将~/.composer/vendor/bin路径放到我们的环境变量中,在Mac系统中,我们可以通过vi ~/.bashrc将上面的路径放入.bashrc中,或者通过vi ~/.bash_profile将上面的路径放入.bash_profile中,当然,如果你和我一样,不喜欢用bash,使用的是zsh,你可以通过vi ~/.zshrc,然后添加下面这条命令到你的环境配置文件中:

    export PATH="$HOME/.composer/vendor/bin:$PATH"

    加入上面的命令,保存文件后,重新打开一个终端的窗口,或者你也可以使用source 配置文件来更新下,现在我们就可以运行laravel new Project了,这里的Project是你的项目名,你可以随便取一个,我们来试一下:

    cd /usr/local/var/www/   # 切换到你要想要安装Larave框架的目录
    
    laravel new Laravel53 # 安装Laravel最新版的框架,Laravel53是我自己命名的目录
    
    # ... 这里会显示安装信息,请将composer源换成中国的,会快狠多,我的composer教程中有介绍
    # 最后出现Application ready! Build something amazing.这句话说明Laravel框架安装成功了。

    我们检查下:

    cd /usr/local/var/www/Laravel53
    ➜  ls                   
    app           composer.lock package.json  resources     tests
    artisan       config        phpunit.xml   routes        vendor
    bootstrap     database      public        server.php    yarn.lock
    composer.json gulpfile.js   readme.md     storage

    通过laravel new 项目名命令默认安装的是laravel5.3版本,如果你想安装laravel5.2版本,那可以这样使用:

    laravel new MyProject --5.2

    那如果你想安装的laravel版本要更早些的,比如说要安装Laravel5.1版本的,那么你可以使用composer的create-project来安装,如下:

    composer create-project laravel/laravel MyProject "5.1.*"

    ok, 下面,我们就可以在当前目录用sublime通过subl .打开这个项目了。

    subl .

    像上面这样能用sublime打开当前目录的文件,我是用homebrew安装的sublime,其他方式安装的sublime,我不知道是否可以在终端下这么使用。

    本节到这里结束。

    从零开始学Laravel系列目录地址

    展开全文
  • 我运用laravel框架的环境是wampserve 首先要在环境www目录下建立项目站点,文件名可以 在新建文件夹里shift+鼠标右键点击powershell出现命令框 在命令行内通过composer进行创建项目 命令语句:composer create-...

    我运用laravel框架的环境是wampserve

    首先要在环境www目录下建立项目站点,文件名可以自己命名
    新建文件夹重命名即可
    在新建文件夹里shift+鼠标右键点击powershell出现命令框
    在这里插入图片描述
    在命令行内通过composer进行创建项目
    命令语句:composer create-project laravel/laravel=5.4.* --prefer-dist ./
    注意:

    1. 5.4是laravel框架的版本,带“*”是此版本的最低版本,如果在结尾再加内容就会在此目录下新建目录项目就会才此目录下
    2. 在创建项目的时候可能会很慢,那是因为采用的国外的镜像源,在这里我们更换镜像源用国内的,在命令行输入后直接回车再输入创建项目语句
    3. 更换全局镜像源命令语句:
      composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
      更改镜像源后下载就是飞速了
      创建成功后就会显示这样的目录
      新项目就产生了
      项目创建成功后就要创建数据库,配置连接数据库文件
      可以在phpadmin里创建数据库,在地址栏输入php就有显示
      phpadmin
      mysql数据库配置,如果设置为默认就可直接点击执行进入phpadmin

    进入phpadmin
    创建数据库: 数据库名(zht)排序方式选utf8_general_ci
    在这里插入图片描述
    配置连接数据库文件.env文件
    在这里插入图片描述
    找到图片位置修改数据库名(DB_DATABASE),用户(DB_USERNMAE),密码(DB_PASSWORD)
    在这里插入图片描述
    将本网站的文字转化为中文
    修改语言包的配置:
    下载语言包:#composer require caouecs/laravel-lang:~3.0
    注意:下载完成后项目目录里的vendor文件夹里会增加一个composer文件夹,找到点击打开后找到zh-CN并复制到指定目录
    在这里插入图片描述
    找到下载好语言包的位置并复制D:\Programme\wamp64\www\zht\vendor\caouecs\laravel-lang\src
    (这个是我的文件地址仅供参考,只有你的项目目录没有问题按照这个路径找是没有问题的vendor\caouecs\laravel-lang\src)
    在这里插入图片描述
    同上:
    将复制的语言包放到这个位置D:\Programme\wamp64\www\zht\resources\lang
    在这里插入图片描述
    修改项目配置文件config/app.php文件中的 locale(语言设置为中文),timezone(时区设置为中国时间)
    注意:PRC是英文中华人名共和国的简称
    在这里插入图片描述
    编辑config/database.php将strict由true修改为false
    在这里插入图片描述
    这样基本就完成了新项目的创建,清理项目不要的文件看自己的选择

    展开全文
  • 安装$全局的composer需要whatdafox / harbor用法创建一个新的Laravel应用程序(使用Laravel安装程序):$ laravel new MyApplication初始化Harbor:$ Harbor init引导您的容器:$ Harbor up若要关闭容器,请运行:$ ...
  • 关于权限管理的思考最近用laravel设计后台,后台需要有个权限管理。权限管理实质上分为两个部分,首先是认证,然后是权限。认证部分非常好做,就是管理员登录,记录session。这个laravel中也有自带Auth来实现这个。...

    关于权限管理的思考

    最近用laravel设计后台,后台需要有个权限管理。权限管理实质上分为两个部分,首先是认证,然后是权限。认证部分非常好做,就是管理员登录,记录session。这个laravel中也有自带Auth来实现这个。最麻烦就是权限认证。

    权限认证本质上就是谁有权限管理什么东西。这里有两个方面的维度,谁,就是用户维度,在用户维度,权限管理的粒度可以是用户一个人,也可以是将用户分组,如果将用户分组,则涉及到的逻辑是一个用户可以在多个组里面吗?在另外一方面,管理什么东西,这个东西是物的维度,一个页面是一个东西,一个页面上的一个元素也是一个东西,或者往大了说,一个功能是一个东西。所以做权限管理最重要的是确认这两个维度的粒度。这个已经不是技术的事情了,这个是需要需求讨论的了。

    基于上面的思考,我这次想做的权限管理,在用户维度,是基于个人的。就是每个人的权限不一样。在东西的维度,我设置路由为最小的单位,即可以为单个路由设置权限管理。

    下面的思考就是使用什么来标记权限,可以使用位,也可以使用字符,也可以使用整型。后来我选择了字符,基于两点考虑:1 字符浅显易懂,在数据库中查找也比较方便 2 我没有按照某个权限查找有这个权限的人的需求,即没有反查需求,使用位,整型等都意义不大。

    接下来考虑如何和laravel结合,既然要为每个路由设置访问权限,那么我当然希望能在laravel的route.php路由管理中配置。最好就是在Route::get的时候有个参数能设置permission。这样做的好处是权限设置简易了。在决定路由的时候,就顺手写了权限控制。坏处呢,也很明显,laravel路由的三种方式只能写一种了。就是Route::(method)这样的方式了。

    基本决定好了就开干。

    路由设计

    基本的路由是这样的

    Route::post('/admin/validate', ['uses' => 'AdminController@postValidate', 'permissions'=>['admin.validate', 'admin.index']]);

    这里在基本的制定路由action之后设置了一个permissions的属性,这个属性设计成数组,因为比如一个post请求,它可能在某个页面会触发,也可能在另外一个页面触发,那么这个post请求就需要同时拥有两个页面路由的权限。

    这里使用admin.validate的权限控制,这样,可以将权限分组,admin都是关于admin相关的分组,在数据库中,我就会存储一个二维数组,[admin] => ['validate', 'index']; 存储成二维数组而不是一维的好处呢,一般后台展示是有两个维度的,一个是头部的tab栏,一个是左边的nav栏,就是说这个二维的数组和后台的tab,nav栏是一一对应的。

    中间件设计

    好了,下面我们就挂上中间件,并且设置所有的路由都走这个中间件

    use Illuminate\Support\Facades\Session;

    use Closure;

    class Permission {

    /**

    * Handle an incoming request.

    *

    * @param \Illuminate\Http\Request $request

    * @param \Closure $next

    * @return mixed

    */

    public function handle($request, Closure $next)

    {

    $permits = $this->getPermission($request);

    $admin = \App\Http\Middleware\Authenticate::getAuthUser();

    // 只要有一个有权限,就可以进入这个请求

    foreach ($permits as $permit) {

    if ($permit == '*') {

    return $next($request);

    }

    if ($admin->hasPermission($permit)) {

    return $next($request);

    }

    }

    echo "没有权限,请联系管理员";exit;

    }

    // 获取当前路由需要的权限

    public function getPermission($request)

    {

    $actions = $request->route()->getAction();

    if (empty($actions['permissions'])) {

    echo "路由没有设置权限";exit;

    }

    return $actions['permissions'];

    }

    }

    这里最关键的就getPermission函数,从$request->route()->getAction()来获取出这个路由的action定义,然后从其中的permissions字段中获取route.php中定义的路由权限。

    然后上面的middleware有个admin−>hasPermission(permit); 这个就涉及到model的设计。

    model设计

    use App\Models\Model as BaseModel;

    class Admin extends BaseModel {

    protected $table = 'admin';

    // 判断是否有某个权限

    public function hasPermission($permission)

    {

    $permission_db = $this->permissions;

    if(in_array($permission, $permission_db)) {

    return true;

    }

    return false;

    }

    // permission 是一个二维数组

    public function getPermissionsAttribute($value)

    {

    if (empty($value)) {

    return [];

    }

    $data = json_decode($value, true);

    $ret = [];

    foreach ($data as $key => $value) {

    $ret[] = $key;

    foreach ($value as $value2) {

    $ret[] = "{$key}.{$value2}";

    }

    }

    return array_unique($ret);

    }

    // 全局设置permission

    public function setPermissionsAttribute($value)

    {

    $ret = [];

    foreach ($value as $item) {

    $keys = explode('.', $item);

    if (count($keys) != 2) {

    continue;

    }

    $ret[$keys[0]][] = $keys[1];

    }

    $this->attributes['permissions'] = json_encode($ret);

    }

    }

    在数据库中,我将二维数组存储为json,利用laravel的Attribute的get和set方法,完成了数据库中json和外界程序逻辑的连接。然后hasPermission就显得很轻松了,直接判断in_array就ok了。

    后续

    这个权限认证的逻辑就清晰了。然后如果页面中某个tab或者nav需要对不同权限的用户展示,只需要在view中判断

    @if ($admin->hasPermission('admin.index'))

    @endif

    就可以判断这个用户是否可以看到这个tab了。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 1.简介 ... 创建应用程序后,可以使用 Artisan CLI 的serve命令启动 Laravel...安装laravel全局命令 composer global require laravel/installer 测试命令 laravel list Laravel Installer 4.2.9 Usage: co..
  • composer - 初始化项目

    2017-08-29 19:37:07
    这里使用 Packagist @ phpcomposer 或者 Packagist @ Laravel-China, 在这里感谢 王赛和 Laravel China 的辛勤付出, 下面我们开始安装项目中使用到的包文件, 对于 composer 的配置文件完整项目参见...
  • 全局作用域 所谓「全局作用域」,指的是预置过滤器在注册该「全局作用域」的模型类的所有查询中生效,不需要指定任何额外条件。 以User模型类为例,我们在系统中可能只想针对已经验证过邮箱的用户进行操作,在没有...
  • 最近,在使用Laravel写东西,因为框架本身的设计理念的不同,刚从ThinPHP3切换到Laravel5,感觉还是很怪的,各种不习惯,但是一旦写过一些代码,发现Laravel真的非常好用。我一直觉得TP中的公共函数是一个很好的设计...
  • laravel Request的所有方法

    万次阅读 2017-11-20 20:32:01
    Laravel 框架创建的所有的 Cookies 都是加密的,并且会签上一个认证的代码,意思就是如果这些 Cookies 在客户端那里被修改过,就会被认为是无效的 Cookies。 检索 Cookie 值 $value = Request::cookie( '...
  • 1 [Laravel中学篇-CMS] Laravel最佳开发环境介绍.mp42 [Laravel中学篇-CMS] 安装Laravel并配置Homestead.mp43 [Laravel中学篇-CMS] 配置虚拟域名访问Laravel项目.mp44 [Laravel中学篇-CMS] Laravel与数据库管理工具...
  • Laravel Echo服务器 使用Socket.io进行Laravel Echo广播的NodeJs服务器。 系统要求 需要以下各项才能正常运行。...使用CLI工具初始化 在项目目录中运行init命令: $ laravel-echo-server init cli工具将
  • gorm初始化

    千次阅读 2019-06-03 17:19:09
    想起之前研究 php laravel 框架的时候,直接把数据库层屏蔽了,用户看到的只有对象,使用非常方便,java 里面这种操作方式基本上已经成了标准做法,就去 github 上找了一下 golang 里面有没有类似的东西,果然已经有...
  • 全局函数的实现是依靠在初始化的时候,将helps.php或者functions.php直接进行了加载。而Laravel中bootstrap/autoload.php(laravel 5.5 貌似没有这个文件)中可以定义在初始化的时候加载什么文件。 在默认的情况下...
  • 5 Laravel高可用模块思想.mp4 6 使用组件快速构建模块设计架构.mp4 7 配置Phpstorm与快速创建登录注册功能.mp4 8 默认Aut使用json中文本地.mp4 9 模板选择之避免重复造轮子.mp4 10 安装Webpack编译环境与Mix讲解...
  • Tailwind Tailwind 是新的 CSS 实用程序框架,它很快成为我最喜欢的构建界面的方法。通常,尝试一个新的框架、包或语言的最困难的部分是建立起来。...完成 Laravel 的所有设置之后,让我们看 Tailwind
  • ThinkPHP6 源码分析之应用初始化 官方群点击此处。 App Construct 先来看看在 __construct 中做了什么,基本任何框架都会在这里做一些基本的操作,也就是从这里开始延伸出去。 public function __construct...
  • 所以就算复杂如Laravel框架, 他也是一个顺序的加载解析过程. 本地打断点可以完整的走一遍框架的加载逻辑. 但是你可能并不一定十分理解为什么框架要这么做? 或者他这一步究竟是干嘛的? 本文就尽可能的提取L
  • runWithRequest () 方法 ...runWithRequest($request); 。其中,runWithRequest() 方法前面几行如下: protected function runWithRequest(Request $request) { $this->... // 加载全局中间件 $th
  • laravel中,相应正常情况下有2个类型:常规的直接响应,另外一个是ajax的响应。 其中展示视图以及直接响应字符串都属于常规的响应。 1.1 常规响应: 展示视图:return view('welcome'); 直接返回某个字符串:...
  • Laravel 邮件

    千次阅读 2019-12-03 15:52:12
    1.应用场景 ... laravel 5.8 QQ的SMTP服务. //163的SMTP实践总是报错, 于是转向QQ 补充: 163邮箱可以使用. 测试结果如下: 163邮箱在.env配置文件 MAIL_HOST=sm...
  • Deployer 是一个基于 SSH 协议的无侵入 web 项目部署工具,因为它不需要你在目标服务器上装什么...他支持多种框架:Laravel、Yii等流程:在本地使用 composer 安装 deployer在 Linux 服务器添加账户与配置权限项目 ...
  • Laravel 存在SQL注入漏洞 漏洞描述: 该漏洞存在于Laravel的表单验证功能,漏洞函数为ignore(),漏洞文件位于/vendor/laravel/ramework/src/Illuminate/Validation/Rules/Unique.php。有时候开发者希望在进行字段...
  • 执行软件包安装命令和初始配置 其他设定 DEBUGBAR USE_SOCIALITE SOCIALITE_FACEBOOK,SOCIALITE_TWITTER,SOCIALITE_GITHUB,SOCIALITE_LINKEDIN,SOCIALITE_GOOGLE EXTERNAL_IP FOOTER_CENTER,FOOTER_LEFT,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,373
精华内容 549
关键字:

laravel全局初始化