
PHP
EagleMaze
http://blog.sbot.io
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Laravel - 使用Schema Builder创建Foreign Key的注意事项
Laravel的Schema Class提供了一种不可知(agnostic way)的方式来操作table,即对于所有Laravel所支持的数据库都可以用统一的方法及API来操作,而Laravel并不需要知道当前使用的是哪一个具体的数据库。在使用Schema Class的时候,我们可以很方便地为当前的table添加foreign key:$table->integer('user_id原创 2017-03-13 14:00:40 · 2224 阅读 · 0 评论 -
Ubuntu环境下配置AMP(Apache 2.4 + MySQL 5.7 + PHP7.1)
在云服务器盛行的今天,人手一个服务器已经不再是梦想,而云服务器的环境配置对于一些刚接触的朋友们来说还是有一定难度的。所以今天我们一起来看一下,如何手动配置AMP。我们本次使用的环境是Ubuntu 16.04 LTS,实例使用的是阿里云服务器,首先通过ssh使用root账户连接到我们的instance:(注意:由于我们使用的是root连接,以下命令可以不使用sudo,如果你遇到了权限问题,请先尝试在命原创 2017-09-18 10:53:14 · 1598 阅读 · 0 评论 -
Wordpress隐藏(移除)新增/修改文章页面中的meta boxes
对于一个多作者的Wordpress网站,我们有时候需要限制作者能够接触到的编辑选项,例如给文章加标签,或者禁用某些插件的选项。这个时候我们需要用到do_meta_boxes或者admin_menu这两个hooks。注意,如果要移除插件生成的meta boxes,我们必须要使用do_meta_boxes而非admin_menu,因为后者触发得太早了。好了,假设我们要给所有非admin或subadmin原创 2017-09-12 13:02:33 · 2689 阅读 · 0 评论 -
将wordpress admin bar中用户登出后跳转至登陆页面修改为登出前页面
关于wordpress登出跳转的方法网上应该有不少了,但是如何修改admin bar里的登出链接使用户登出后直接跳转至登出前所浏览的页面的? 在官方文档里面找了一下相应hooks试验了一下,发现直接使用logout_url这个filter就可以了,方法如下。在functions.php里添加以下代码: function edit_user_logout_redirect_url($logou原创 2017-09-20 13:11:32 · 1443 阅读 · 0 评论 -
设置PHP最长运行时间
通常来说,默认的PHP程序最大运行时间是30s,如果你的程序运行超过这个时间限制,那么会有类似Maximum execution time of 30 seconds exceeded的报错。有几种解决办法:首先先检查是不是你的在做一些傻事,从而消耗了大量的CPU资源及时间,如果确实需要程序长时间运行才能得出结果,那么可以1> 在php.ini中增加运行时间:max_execution_time=3原创 2017-09-30 11:11:11 · 3508 阅读 · 0 评论 -
Laravel 5.3+ 重置密码邮件的样式及内容修改 (Notifications的使用)
Laravel里我们可以使用php artisan make:auth来生成一套默认的登陆注册重置邮箱的Authentication System,但是如何修改系统发送给用户的重置密码邮件的样式和内容呢?虽然默认的邮件样式很美观,但是不免全部是英文,我们至少可以添加进一些中文提示,方便用户查看。首先我们需要明确的是: Laravel 默认的 Notification Cl...原创 2017-08-02 10:19:49 · 4222 阅读 · 2 评论 -
Laravel 5+ Bootstrap 4 分页器
最近的project里,发现需要修改Laravel自带的Bootstrap 4分页器。要使用自带的BS4分页,我们需要将分页器模板导出到resources/views/vendor文件夹下:$ php artisan vendor:publish --tag=laravel-pagination完成之后,我们会发现resources/views/vendor/pagination文件夹...原创 2017-10-26 15:02:21 · 1827 阅读 · 0 评论 -
Laravel Scout - 实时更新数据至Algolia
在之前的一篇文章(Algolia Search - 使用Javascript实现前端实时搜索 )里,我们一起学习了怎么使用Algolia,那么今天我们一起来看一下,如何在Laravel中后台实时更新数据索引至Algolia数据库。首先我们需要安装Laravel Scout组件:$ composer require laravel/scout$ composer require algolia/al原创 2017-12-15 11:50:46 · 1730 阅读 · 2 评论 -
Laravel 5.3+ Auth::routes 验证路径
Laravel 5.3+ 开始,添加了Auth()::routes()路径组,其中注册了常见的验证路径,例如注册,登录登出,以及密码修改。在web.php中,添加如下代码:Auth()::routes()即可使用这些路径。而要查看这些路径具体包含了哪些,我们可以打开\vendor文件夹中Laravel的Router.php文件:/* \vendor\laravel\fram原创 2018-01-30 15:57:49 · 1611 阅读 · 0 评论 -
Ubuntu下Laravel的开发环境安装及部署(Vagrant + Homestead)
2018-2-6 更新 注意! laravel/homestead box项目地址已经不再是原来的 https://atlas.hashicorp.com/laravel/boxes/homestead,而已经变更成 https://app.vagrantup.com/laravel/boxes/homestead ,所以本文中的操作以及链接也进行了相应的更新。之前写了一篇如何在Win...原创 2017-11-07 10:35:42 · 5789 阅读 · 8 评论 -
Laravel数据库迁移(Database Migration)操作实例
很多人可能在学习Laravel框架的时候,对Laravel的数据库迁移(以下简称Migration)存在着疑惑:到底什么是Migration?为什么要用Migration?Migration到底方便在哪里?好了,抱着这些问题,我们今天就一起来学习Migration。 问题1:什么是Migration? 回答:可以将Migration看作一种数据库的VCS(Version Co...原创 2017-03-12 11:14:32 · 7140 阅读 · 2 评论 -
Laravel 5.2+ 获取当前路径对象及参数
在view中,我们经常需要获取当前路径及其参数,例如添加导航高亮。而Laravel 5.2+版本开始,我们可以使用Route Facade来获取当前的路径对象(Route Object),然后我们可以通过该对象获取我们需要的参数及路径: $route = Route::current(); //获取当前路径对象 $uri = $route->uri(); //获取当...原创 2018-02-08 10:34:24 · 2472 阅读 · 0 评论 -
Windows 7/8/10下Laravel的开发环境安装及部署(Vagrant + Homestead)
2018-2-6 更新 注意! laravel/homestead box项目地址已经不再是原来的 https://atlas.hashicorp.com/laravel/boxes/homestead而已经变更成 https://app.vagrantup.com/laravel/boxes/homestead所以本文中的操作以及链接也进行了相应的更新。 ...原创 2017-03-08 13:49:56 · 16398 阅读 · 10 评论 -
使用NGINX部署Laravel项目详解
注意:本文系统环境Ubuntu 16.04 LTS,已安装php7.2。我的Laravel项目文件位置/var/www/myproject。在阅读文章步骤之前,如果你目前正在运行Apache的话,请输入$ sudo systemctl stop apache2来停止Apache的运行。 那么我们开始,首先我们先安装NGINX:$ sudo apt-get update...原创 2018-03-10 14:29:22 · 19189 阅读 · 0 评论 -
CSS 隐藏文章标题过长部分
对于CMS来说,经常遇到的一个问题就是文章的标题有时候过长,需要我们隐藏多余的部分,并以类似...的方式表示只显示了部分文字。那么通常实现的办法可以在动态调取文章标题时,使用substr函数:substr($post_title, 0, 55);当然,substr只针对于单字符文字,若是像中文这种多字符文字(multi-byte string),我们需要使用mb_substr($post_title原创 2017-08-22 10:54:17 · 1320 阅读 · 0 评论 -
Wordpress修改Author页面URL地址
Wordpress默认Author页面http://mysite.com/author/authorname,若想要将author替换成自定义的slug,那么我们需要使用$wp_rewrite这个全局对象。在functions.php中,添加以下代码:function edit_author_base(){ global $wp_rewrite; $author_slug = 'c原创 2017-08-18 10:02:21 · 2213 阅读 · 0 评论 -
PHP 亚洲常用时区编码
PHP亚洲常用时区编码: 亚洲(Asia) 时区编码 中国(上海) Asia/Shanghai 中国(乌鲁木齐) Asia/Urumqi 中国(香港) Asia/Hong_Kong 中国(澳门) Asia/Macau 中国(台北) Asia/Taipei 新加坡 Asia/Singapore 泰国(曼谷) Asia/Bangkok 阿原创 2017-03-18 16:59:13 · 12005 阅读 · 0 评论 -
Laravel 5.4 Testing - The Dusk API
Laravel 5.4在测试方面进行了更新,所以5.3版本及之前的浏览器测试语法和API在新版本中默认已经不能使用,取而代之的是Dusk,一个默认使用ChromeDriver的测试Layer。如果你在使用PHPUnit进行测试的时候报错,例如类似Error: Call to undefined method CUSTOM_NAME_Test::visit()的话,那么请检查一下你的Laravel版本原创 2017-03-28 16:29:54 · 1271 阅读 · 0 评论 -
Laravel中使用AJAX动态刷新部分页面
AJAX相信大家都不陌生,有很多不同的Javascript Frameworks可以用来快速实现AJAX功能。那么今天我们一起来看一下如何在使用了PHP Frameworks的网站中使用AJAX来刷新页面的一小部分。这里我使用的是jQuery + Laravel(当然如果使用了其他框架,基本的概念也是不变的)。如图,假设我们制作了一个页面来管理客户的茶叶消耗: 我们想制作一个模块来动态为每一个新的原创 2017-04-07 11:53:12 · 9465 阅读 · 1 评论 -
PHP获取日期时间差
PHP中我们常使用DateTime对象来获取日期和时间。那么如果我们想要求两个时间差呢?一种办法显然是使用mktime()函数来获取两个日期或时间的Unix Timestamp,再求出两者的差,最后将Unix Stamp转化为时间://2017-03-31 14:25:00$datetime_1 = mktime(14, 25, 0, 3, 31, 2017);$now = mktime();/原创 2017-03-31 21:28:02 · 2569 阅读 · 0 评论 -
Laravel Colletion - Chunk函数的妙用
Laravel Collection是基于PHP Array之上的一个非常好用的API,我们可以把它看做是超级数组(Super Arrays),因为它拥有很多原生array所没有的功能。今天我们要来学习一下Chunk函数的使用。假设我们有一个叫Room的Model,数据库里对应的rooms table中储存的是一系列的rooms。那么首先我们如果要获取所有的rooms,那么我们可以用get()://原创 2017-03-25 11:48:00 · 5111 阅读 · 0 评论 -
Laravel - 当找不到route时如何显示自定义的404错误信息
假设在我们的Controller中:$some_id = 6;$contacts = Contact::findOrFail($some_id);如果findOrFail()找不到id为6的contact,那么页面就会跳转到404错误: 那么我们可以在resouces/view/errors/文件夹下,新建一个叫404.blade.php的文件,里面放上我们想要输出的错误信息,比如:<!DOCT原创 2017-03-25 12:51:59 · 4550 阅读 · 0 评论 -
Laravel - 使用url()全局函数返回前一个页面的地址
Laravel有很多全局函数来帮助我们更高效地编程,这些函数都是我们经常可能会使用到的: Available Methods Arrays array_add array_collapse array_divide array_dot array_except array_first array_flatten array_forget array_get array_原创 2017-03-25 20:24:28 · 11031 阅读 · 0 评论 -
Composer Update或Install速度慢的解决方案
一般情况下,安装包的数据(主要是 zip 文件)一般是从 github.com 上下载的,安装包的元数据是从packagist.org上下载的。然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。“Packagist 中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求,从而达到加速 compo转载 2017-06-05 10:04:31 · 5226 阅读 · 0 评论 -
Ubuntu中使用Composer Install/Update常见报错解决办法
Problem xxxx requires ext-curl * -> the required PHP extension curl is missing from your system解决办法:$ sudo apt-get install php-curl Problem xxxx requires ext-zip * -> the required PHP extensio原创 2017-06-21 11:03:21 · 2881 阅读 · 0 评论 -
Laravel - 已登陆用户再次查看登陆页面的自动跳转设置
Laravel中,如果用户已经登陆,那么若其再打开登陆页面,那么会默认自动跳转至/home路径。 要更改这个默认设置,请打开app/Http/Middleware/RedirectIfAuthenticated.php:<?phpnamespace App\Http\Middleware;use Closure;use Illuminate\Support\Facades\Auth;class原创 2017-07-05 16:04:19 · 2188 阅读 · 0 评论 -
Laravel 5+ 使用自定义类
Laravel 5+ 使用了PSR-4自动加载app文件夹下的类。所以,若要自己创建或者使用非Laravel自带的class,我们可以在app文件夹下创建自己的类,并且建立好合适的路径:app/EagleEye/EaManiac.php接着,我们打开EaManiac.php,在里面添加上namespace:<?php namespace App\EagleEye;class EaManiac {原创 2017-07-17 13:54:14 · 1235 阅读 · 0 评论 -
Laravel 添加多语言提示信息
Laravel默认的locale用的是en,在resouces/lang/en文件夹下,我们可以看到以下几个文件:resources - lang - en -- auth.php -- pagination.php -- passwords.php -- validation.p原创 2017-07-26 12:12:29 · 2157 阅读 · 0 评论 -
Laravel 5.1+ Queues & Jobs 操作实例
从个人技术博客发布至优快云: Laravel 5.1+ Queues &amp; Jobs 操作实例谢谢各位支持!原创 2018-07-19 11:47:26 · 1652 阅读 · 0 评论