Oct292018
分享一个php分页类
分享一个php分页类,自己写的,代码如下:
<?php
/**
* Created by PhpStorm.
* User: yhm
* Date: 2018/1/7
* Time: 20:24
* Desc: 分页类
* use: (new Page(200))->show();
*/
final class Page {
const PAGE_SIZE = 20; //默认每页数据量
private $_count; //数据总量
private $_pageSize; //每页数据量
private $_pages;
private $_curPage;
...阅读全文
抢沙发
Oct052018
laravel Eloquent操作(一)
基本用法
我们先从建立一个 Eloquent 模型开始。模型通常放在 app 目录下,但是您可以将它们放在任何地方,只要能通过 composer.json 自动载入。所有的 Eloquent 模型都继承于Illuminate\Database\Eloquent\Model 。
定义一个 Eloquent 模型
class User extends Model {}
你也可以通过 make:model 命令自动生成 Eloquent 模型:
php artisan make:model User
注意我们并没有告诉 Eloquen...阅读全文
Sep302018
在Laravel外独立使用Eloquent
不得不承认Laravel的Eloquent是一个很棒的ORM,我们也可以在自己的项目里通过composer来使用Eloquent,本文就详细讲解如何在自己的项目集成Eloquent。
安装
我们这里建议一个项目demo, 然后我们在demo目录下执行:
composer require illuminate/database:~4.2
那么你应该会看到:
Using version ~4.2 for illuminate/database
./composer.json has been created
Loading composer reposit...阅读全文
Sep252018
父类方法返回子类实例:PHP延迟静态绑定
案例分析
先前的PHP项目中,看到类似于以下的一段代码:
<?php
class DBHandler {
public function get() {
}
}
class MySQLHandler extends DBHandler {
// 这里一个create
public static function create() {
echo "MySQL";
return new self();
}
public function get() {
echo "MySQL get()";
}
}
class MemcachedHandl...阅读全文
Sep252018
解决 PhpStorm 对 用单例模式实例化PHP类时,代码自动提示功能失效的问题
大部分PHP框架中,为了防止一个类被重复实例化,往往采用“单例模式”实例化类。我们的项目框架是这样做的:
先写好一个基类 /framework/Base.class.php,内容如下:
<?php
namespace framework;
defined('SITE_PATH') or die('Access Denied');
/**
* 业务基类
*
* @package framework
*/
class Base
{
/**
* 类实例化(单例模式)
*
* @return mixed
...阅读全文
Sep232018
Sep212018
解决PHP中的文件读取错误Warning: file_get_contents(xxx)的处理
在PHP开发过程中,我们经常会遇到文件读取错误的情况。其中一个常见的错误就是使用file_get_contents()函数时出现Warning: file_get_contents(xxx)的警告。这个问题可能是由于文件不存在、权限问题或者其他原因导致的。在本篇博客中,我们将讨论如何处理这个错误,以确保我们的PHP应用程序能够正常运行。
1. 检查文件是否存在
首先,我们需要确保文件存在。可以使用file_exists()函数检查...阅读全文
Aug212018
jmeter之最佳实践
官方文档:
http://jmeter.apache.org/usermanual/best-practices.html
翻译:
16.最佳实践
16.1 始终使用最新版本的JMeter
JMeter的性能正在不断提高,因此强烈建议用户使用最新版本。确保始终阅读更改列表以了解新的改进和组件。一定要避免使用与最新版本相差3个版本以上的版本。
16.2 使用正确的线程数
您的硬件功能以及测试计划设计都会影响您可以使用JMeter有效运行的线程数。这个...阅读全文
Aug132018
Ubuntu 16.04 下快速搭建 LNMP环境
在 Ubuntu 系统中,可以使用 apt-get 命令来搭建 LNMP环境。这种方式较编译方式安装更加简便,因此选择使用该方式来搭建环境以供学习。
在安装个软件之前,为了确保获得的软件是最新的,可以先使用 sudo apt-get update 命令更新源列表。
安装 Nginx
执行命令
sudo apt-get install nginx
就能自动安装 Nginx
安装好之后,使用 dpkg -S nginx 命令来搜索 nginx相关文件,可以从命令显示结...阅读全文
Aug122018
PHP中使用__call和__callStatic动态创建方法
如何防止调用不存在的方法而出错,这里介绍一下使用__call魔术重载方法的使用,通过该方法,我们可以动态的创建一些特殊用途的方法。
__call方法原型如下:
mixed __call(string $name,array $arguments)
当调用一个不可访问的方法(如未定义,或者不可见时), __call()就会被调用。
其中$name参数是要调用的方法名称.$arguments参数是一个数组,包含者要传递给方法的参数。
如下所示:
<?p...阅读全文