查看“Laravel”的源代码
←
Laravel
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看并复制此页面的源代码:
=目录= <div id="indexContent"> [[入门教程]] [[基本功能]] [[系统架构]] [[系统服务]] </div> =起步= ==安装== # 下载Laravel一键安装包。 # 配置Web服务器虚拟主机。 # 将网站根目录配置为laravel5/public。 # 能显示Laravel文字,说明安装成功。 Laravel利用Composer来管理依赖。所以,在使用Laravel之前,请确保你的机器上安装了Composer。 ===通过Laravel 安装器=== 首先,使用 Composer 下载 Laravel 安装程序: <source lang="bash"> composer global require "laravel/installer" </source> 确保 $HOME/.composer/vendor/bin 目录(或你的操作系统的等效目录)已经放在你的环境变量 $PATH 中,以便系统可以找到 laravel 的可执行文件。 安装之后, laravel new 命令会在你指定的目录中创建一个新的 Laravel 项目。例如,laravel new blog 命令会创建一个名为 blog 的目录,其中包含所有已经安装好的 Laravel 的依赖项: <source lang="bash"> laravel new blog </source> ===通过Composer创建项目=== 或者,你还可以通过在终端中运行 create-project 命令来安装 Laravel: <source lang="bash"> composer create-project --prefer-dist laravel/laravel blog </source> ===本地开发服务器=== 如果你在本地安装了 PHP,并且想使用 PHP 内置的开发服务器来为你的应用程序提供服务,那就使用 Artisan 命令 serve。这个命令会在 http://localhost:8000 上启动开发服务器: <source lang="bash"> php artisan serve </source> 当然,对于本地开发来说,最好的选择还是 Homestead和Valet。 ===Valet还是Homestead?=== Laravel还提供了另一种本地开发环境Homestead。Homestead 和 Valet 的不同之处在于目标受众和对本地开发的方式。Homestead 提供了一个完整的、具有自动化的 Nginx 配置的 Ubuntu 虚拟机。如果你想要完全虚拟化的 Linux 开发环境或 Windows/Linux,Homestead 是一个不错的选择。 Valet 仅支持 Mac,并要求你将 PHP 和数据库服务器直接安装到本地机器上。这可以很容易地通过使用 Homebrew 命令来实现,像 brew install php71 和 brew install mysql。Valet 提供了一个极快的、资源消耗最少本地开发环境,非常适合只需要 PHP/MySQL 并且不需要虚拟开发环境的开发人员。 =Homestead= https://phphub.org/topics/2 Laravel 的 Homestead 开发环境部署 这是两年前的旧文了,不知现在是否还有效。 设置数据库连接 本机连接 vm 里 mysql 方法是: host: 127.0.0.1 port: 33060 user: homestead pass: secret ==Is Laravel really this slow?== http://stackoverflow.com/questions/23283574/is-laravel-really-this-slow I just started using Laravel. I've barely written any code yet, but my pages are taking nearly a second to load! ;Reply 1 Laravel is not actually that slow. 500-1000ms is absurd; I got it down to 20ms in debug mode. The problem was Vagrant/VirtualBox + shared folders. I didn't realize they incurred such a performance hit. I guess because Laravel has so many dependencies (loads ~280 files) and each of those file reads is slow, it adds up really quick. kreeves pointed me in the right direction, this blog post describes a new feature in Vagrant 1.5 that lets you rsync your files into the VM rather than using a shared folder. There's no native rsync client on Windows, so you'll have to use cygwin. Install it, and make sure to check off Net/rsync. Add C:\cygwin64\bin to your paths. ;Reply 2 From my Hello World contest, Which one is Laravel? I think you can guess. I used docker container for the test and here is the results To make http-response "Hello World": Golang with log handler stdout : 6000 rps SpringBoot with Log Handler stdout: 3600 rps Laravel 5 with off log :230 rps ==Mac安装== http://laravel-china.org/docs/5.1/homestead 按开发文档步骤安装,比较顺利。 # 安装Virtual Box # 安装Vagrant # 下载本地Lavravl项目代码 # 配置Homestead.yaml # vagrant up # vagrant reload --provision # vagrant destroy --force ==Windows安装== windows的安装步骤与Mac一样,只是电脑配置差异,有些问题要特别处理。 ;在BIOS中,开启虚拟化。 安装好Virtual Box、Vagrant,配置好Homestead.yaml后,vagrant up启动到一半不动了,直到超时退出。 ;在配置文件夹和站点目录 folders的map和to,配置反了,启动时vagrant找不到github_projets目录。 <source lang='text'> folders: - map: d:/github_projects to: /home/github_projects sites: - map: laravel.example.com to: /home/github_projects/LaravelExample/public </source> ;运行composer install 正常启动Vagrant后,打开站点首页,报错,指示vendor目录下的文件找不到。 ;.ssh帐户可以注释掉 <source lang='text'> authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa </source> ;cpus设置 i5CPU,双核四线程,跑了个负载。 <source lang='bash'> ab -c 50 -n 2000 http://laravel.example.com/ cpus: 1 75.99 72.95 cpus: 2 111.95 114.54 cpus: 3 111.27 115.85 cpus: 4 92.57 95.45 </source> 从测试结果上看,cpus设为2运行效率最高。 ==ngnix配置文件路径== <source lang="text"> /etc/nginx </source> =Swagger-php= =SwaggerLume= https://github.com/DarkaOnLine/SwaggerLume 一、安装swagger包 <source lang='bash'> composer require "darkaonline/swagger-lume 1.*" </source> 二、为swagger配置lumen <source lang='php'> // bootstrap/app.php $app->withFacades(); // add this line before Register Container Bindings section: $app->configure('swagger-lume'); // add this line in Register Service Providers section: $app->register(\SwaggerLume\ServiceProvider::class); </source> 三、配置及生成swagger <source lang='bash'> php artisan swagger-lume:publish-config (config/swagger-lume.php) php artisan swagger-lume:publish php artisan swagger-lume:generate </source> 四、指定swagger路由 <source lang='php'> //config/swagger-lume.php 'routes' => [ 'api' => 'api-docs', // from 'api/documentation' 'docs' => 'docs', ], </source> 五、设置自动更新文档 <source lang='php'> //config/swagger-lume.php 'generate_always' => env('SWAGGER_GENERATE_ALWAYS', true), </source> 如果不设置,要手动执行swagger-lume:generate命令,文档才能看到最新变化。 =Lumen= ==安装== ===安装composer=== 从 https://getcomposer.org/download/ 上下载安装文件。 ===利用Composer下载Lumen安装器=== <source lang="bash"> composer global require "laravel/lumen-installer=~1.0" # or composer global require "laravel/lumen-installer" </source> 安装时包名写错了,留下包痕迹清除不了,把composer卸载,重新安装后,才能用正确的包名安装lumen。 ===创建Lumen运用程序=== 通过lumen new命令就能在你指定的目录中创建一个干净的Lumen应用程序骨架了。 <source lang="bash"> lumen new app_name </source> ===部署到Web服务器=== Lumen 几乎不需要任何配置就能开箱即用。你能立即开始你的编码工作了! <source lang="text"> Lumen (5.2.8) (Laravel Components 5.2.*) </source> ==Creating custom helpers== Add the helpers.php file to your composer.json autoload files. <source lang="php"> "autoload": { "classmap": [ "database" ], "psr-4": { "Tasky\\": "app/" }, "files": [ "app/Support/helpers.php" ] }, </source> <source lang="text"> $ composer dumpautoload </source> =base64= =Repository模式= 为了保持代码的整洁性和可读性,使用Repository Pattern 是非常有用的。使用repositories使我们的Controller层不再那么啰嗦、更加解耦和易读。 =杂项= ==Laravel的历史版本== * Laravel 1 2011年6月9日 * Laravel 2 2011年11月24日 * Laravel 3 2012年2月22日 * Laravel 4 2013年5月28日 * Laravel 5.1 LTS 2015年6月9日 * Laravel 5.2 2015年12月21日 * Laravel 5.5 LTS 2017年8月30日 ==获取版本号== <source lang='php'> $app->get('/', function () use ($app) { return $app->version(); }); </source> ==指定302跳转== <source lang='php'> use Illuminate\Http\RedirectResponse; return redirect('/userInfo', 302); //默认为301 </source> ==laravel 怎么截取字符串多余的用省略号表示?== <source lang='php'> str_limit($value, $limit = 100, $end = '...'); </source> ==查找关联是否存在== <source lang='php'> $orders = Product_order::whereHas('user', function ($query) use ($name) { if ($name !== '') { $query->where('username', 'like', "%{$name}%"); } })->with('product')->where(function ($query) use ($order_number) { if ($order_number !== '') { $query->where('order_number', 'like', "%{$order_number}%"); } })->orderBy('id', 'desc')->paginate(10); </source> ==查看Laravel版本号的三种方法== 1. PHP artisan --version 2. vim vendor/laravel/framework/src/Illuminate/Foundation/Application.php 3. 可以写在路由里。5.4版本的路由文件夹是routes。我们可以写在routes\web.php里。 <source lang='php'> Route::get('laravel-version', function(){ $laravel = app(); return "Your Laravel version is ".$laravel::VERSION; }); </source> ==Laravel Debugbar调试器== Debugbar package是Barry vd. Heuvel写的一个包,实现在开发过程中快速轻松地查看应用程序信息的功能。安装简单和功能强大,已经成为Laravel开发过程中的不可或缺的包之一。 安装极为简单。 <source lang="bash"> composer require barryvdh/laravel-debugbar </source> ==Laravel 5.4新兵Dusk== ===Laravel 应用测试的背景=== 首先,简单回顾一下:虽然每个人在讨论测试时使用的语言有点不同,但都一致认为单元测试是负责测试隔离开来的小块的代码 ,例如在一个类中的一个方法。而应用测试,与集成测试类似,用来测试整个应用程序作为一个整体。 自从 Jeffrey Way 的 Integrated 成为 Laravel 5.1 核心,我们便获得了 ->visit() 、->get() 、->see() 等方法去描述一个浏览器访问网站的行动。而这确实改变了我们编写的应用程序测试的能力,简单地写个例子: <source lang="bash"> /** @test */ public function cta_link_functions() { $this->visit('/sales-page') ->click('Try it now!') ->see('Sign up for trial') ->onPage('trial-signup'); } </source> 对后台而言,它就等于一个 PHP 的启动请求,通过我们的应用程序传递这个请求,去抓取 DOM,然后提出更多的请求,直到整条代码链完成。 从而做到在不需要浏览器的情况下去模拟浏览器的行为。 ===传统测试方式带来的问题=== 但如果应用程序的功能依赖了 JavaScript,那该怎么办?毕竟这不是一个真正的浏览器,难以要求它去注意到你的 JavaScript。 随着时间的推移,在 Laravel 应用程序中使用和测试 JavaScript 组件的愿望不断增多,对于 Laravel 提供的工具无法测试大部分应用程序的不满也越来越多。 =Lumen 5.2 中配置邮件= https://laravel-china.org/topics/1974 =Laravel 5.5 LTS= 距离上一代 LTS (即 5.1)感觉已经好遥远了呢! * Laravel Horizon ,它为Laravel Redis队列提供了一个漂亮的仪表板和代码驱动的配置系统。Horizon的仪表板是一个Vue单页应用,可以使用命令composer require laravel/horizon直接安装进已有的应用中。它提供队列工作负载、最近作业、失败作业、作业重试、吞吐量和运行时指标、进程计数的实时显示。 * 我们再熟悉不过的PHP错误处理框架,有一个漂亮拉风的错误页面。 =技术文章收藏= [http://9iphp.com/web/php/php-datetime-package-carbon.html 日期及时间处理包 Carbon 在 Laravel 中的简单使用] [https://phphub.org/topics/2020 十个Laravel5程序优化技巧] [http://phphub.laravel-china.org/topics/2018 如何查看 Laravel 5 的所有数据库请求]
返回
Laravel
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息