PHP
文章平均质量分 70
yagas
需要认真专注的做些事情,至少能对得起光阴岁月
展开
-
发布一个Yii2扩展把debug信息存储到MongoDB中
本项目为yii2-debug的扩展,使用MongoDB对debug数据进行存储。如果使用Yii2进行多个应用的开发的话,把debug信息汇聚到一起可以方便查阅。原创 2024-06-26 17:02:06 · 353 阅读 · 0 评论 -
Yii2单元测试
初识单元测试测试驱动开发(TDD)测试驱动开发是敏捷软件开发的推荐做法。TDD 希望在编写代码之前先编写测试。这些测试提供了必须遵循预期功能的代码。保持测试领先于开发,永远不会有未被测试的代码。编写测试代码的数量和代码和质量是成正比的。例如下面的例子:class UserTest extends \Codeception\Test\Unit{ public function testValidation() { $user = new User();原创 2021-02-02 14:21:56 · 904 阅读 · 0 评论 -
设计一个请求接收的思路
有这么一个设计需求:提供一个仅支持POST请求的接口,用于收集提交过来的数据,并实现数据持久化存储。并要求提供对数据的过虑及对不同存储介质提供可扩展,提高代码的可复用性。根据设计模式原则:对修改关闭,对扩展开放。模型中需要引入数据中间件和依赖注入。数据中间件可对数据进行过虑依赖注入可实现对不同介质的存储操作根据以上需求,初步构想得到以下结构模型:// 存储介质接口模型interfac...原创 2019-06-21 10:15:24 · 201 阅读 · 0 评论 -
HTML5自定义调试跨域请求设置 for PHP
header("Access-Control-Allow-Origin:*"); header('Access-Control-Allow-Methods:POST,GET,DELETE,PATCH,OPTIONS'); header('Access-Control-Allow-Credentials:true'); header('...原创 2018-07-26 11:03:23 · 285 阅读 · 0 评论 -
密码加密的算法
加密原理:采用不同的加密算法对字符串进行加盐加密处理。用以防止密文被md5字典进行反向暴力破解。采用美国家安全局公布的加密算法(RFC 4357)加密,不采用自己创建的加密算法,以避免有安全漏洞。原创 2015-07-05 02:34:05 · 2302 阅读 · 0 评论 -
数据加密与解密的简单原理
当下网络上频频报道某网站用户密码泄漏,用户数据被黑客下载等等新闻。对用户的敏感数据、私隐没有任何的安全可言。做为开发者我们应该对用户的敏感信息负责,用户的隐私需要进行加密之后再存储,读取需要解密才能正常显示,以增加敏感信息泄漏的难度。不知道加密算法及盐密码,就算数据库被下载也可保护用户数据的相对安全不被别人获取。我设计的加密和解密的算法如下,仅为大家提供一个参考。读者可以自行改进设计出属于自己的加解密算法,以保护用户的数据安全。原创 2014-11-06 14:22:34 · 4727 阅读 · 0 评论 -
自定义函数替代file_get_contents获取远程数据
传说中的file_get_contents占用系统资源问题终于也在我们的项目里出现了. 无内容返回时, file_get_contents无法释放资源, 导致服务器经常发生504错误. 所以, 以下的自定义函数就诞生了. /** * 获取URL路径的HTML数据 * @param string $url * @return mixed|string */ fu原创 2013-10-17 09:56:22 · 2162 阅读 · 0 评论 -
关于缓存的话题
有一个项目,大家都直接使用Yii::app()->memcache->get方法从缓存中获取数据。咋一看,好像没有什么不妥。但是随着项目的扩大,流程越来越复杂,缓存内容的增多,这个方法所带来的隐患就越发明显了。每一次的改版或数据变动,都需要查找一大片的代码进行修改(有可能还会有隐式的组装调用)。哪怕漏掉了一个地方没有更正过来都会造成系统的BUG,甚至是找不到根源的未知错误。面对以上问题,我说说我的改进方案。以下的改进方法仅代表我的个人看法,如果有更好的方法,欢迎大家一起讨论。原创 2013-11-20 09:15:58 · 1125 阅读 · 0 评论 -
关于产品搜索功能的准确度及搜索效率的提高
产品搜索服务的精准度也是网站对客户的服务质量的体现。基于目前的搜索结果,要现实提高网站的搜索准确度,可以采用以下的方法进行解决。原创 2010-10-24 22:10:00 · 2124 阅读 · 0 评论 -
生成随机验证码图片
一个最简单的生成随机验证码图片的例子,效果请访问 http://yagas.ihost.tw/ 查看。 <?php/** 默认首页 **/class DefaultController extends AppController{ public function index() { $len = 5; $str = "ABCDEFGHIJKLNMPQRSTU原创 2010-02-07 11:36:00 · 542 阅读 · 0 评论 -
仿阿里巴巴同级产品翻页的实现
<?php/** 实现同类产品翻页 **/class pager{ protected $space; protected $left; protected $DB; protected $pageName; public function setSpace($num) { $this->space = $num; $this->left = cei原创 2009-12-10 22:28:00 · 621 阅读 · 0 评论 -
PHP处理图片的类
/** * author:yagas * email:yagas60@21cn.com */ class Image{ /** 类保护变量 */ protected $th_width = 100; protected $th_height = 50; protected $quality = 85;原创 2009-10-22 16:37:00 · 690 阅读 · 0 评论 -
最新的文件上传模型,支持多文件上传
为 MayFish 重新封装的一个文件上传类,支持多个文件同时上传,设置允许的上传文件类型和文件大小。 <?phpclass UploadModel{ protected $keys; protected $err = array(); protected $target; protected $exts; protected $maxSize; prot原创 2009-08-13 00:22:00 · 623 阅读 · 0 评论 -
使用mayfish,架设一个空间多个站点的实例
以自己写的 mayfish(http://sites.google.com/site/mayfishgo/) 框架为例,实现一个网站空间实现多个网站的方法。因为,MVC模式的工作方式是使用控制器来实现调用不同的模块和方法。因为是调用,工作目录永远都是在网站的根目录。所有的页面都是由控制器(这里我把index.php设为一个控制器)统一的调用的,所以工作文件也只有index.php一原创 2009-08-10 22:34:00 · 588 阅读 · 0 评论 -
动态向页面添加控件和使用正则表达式
namespace WebCode{ public partial class _default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { String str = "这是一个测试文件,一个标签的解析原创 2009-03-25 16:42:00 · 642 阅读 · 0 评论 -
字符串的分割与合并
String Fields = "id,title,copyright,keyword";//将字符串以豆号进行分割为数组String[] fields = Fields.Split(,);//将字符串数组以特定的字符串为间隔进行合并为字符串Fields = String.Join("],[", fields); 有点儿不习惯,但还是先记录下来。原创 2009-03-25 04:49:00 · 910 阅读 · 0 评论