church的专栏

欢迎来church的博客

PHP实现把较大的十进制转换成十六进制

实现原理非常简单, 不断地除以16,直到商为0,再把余数倒序拼接起来: function bc_dechex($decimal) { $result = []; while ($decimal != 0) { $mod = $decimal % 16; ...

2018-04-11 13:45:02

阅读数 1236

评论数 0

add-apt-repository: command not found 解决方法

上次我遇到这个问题还是在ubuntu12.4. 解决这个问题要用以下命令来安装python-software-properties sudo apt-get install python-software-properties 再安装一个查询工具: sudo apt-get instal...

2018-03-02 10:46:11

阅读数 3060

评论数 0

PHP扩展开发之创建一个类

运行环境: php 7.1.10 PHP7.0以上版本和以下版本创建流程和使用的函数可能会有些差异 第一步,先生成一个扩展骨架 cd php-7.1.10 cd ext ./ext_skel --extname=classextension vim classextension/config.m...

2017-11-03 11:07:28

阅读数 223

评论数 0

用Swoole快速搭建一个推送服务器

swoole实现推送服务器, 支持身份验证

2017-07-31 17:20:58

阅读数 711

评论数 0

sublime text 3 实现markdown 实时预览的方法

实现markdown实时预览先安装两个插件, 推荐使用Package Control的方式安装.安装Markdown Preview ctrl+shift+p, 然后输入 Install Package 输入Markdown Preview, 回车 实时预览为了实现实时预览, 请跟随以下步骤: ...

2017-07-25 11:01:13

阅读数 11177

评论数 1

php源码str_repeat有趣的实现

php 源码str_repeat实现分析

2017-06-06 17:38:48

阅读数 1441

评论数 0

PHP扩展开发常用宏介绍

PHP扩展开发常用宏介绍

2017-06-05 17:21:29

阅读数 931

评论数 0

PHP源码之UNEXPECTED和EXPECTED

在看PHP源码的过程中, 总是无数次看到这两个宏, 一直不太清楚这两个宏的作用. 今天闲来无事, 认真研究了一下, 这两个宏定义在zend_portability.h.代码片断:#if PHP_HAVE_BUILTIN_EXPECT # define EXPECTED(condition) _...

2017-05-17 15:38:11

阅读数 466

评论数 0

php根据背景图片深浅加水印

最近做到一个项目要实现这样一个功能, 根据上传图片的主色调, 在图片上加水印或文字.比如上传的图片颜色较深,文字的颜色用浅色标识,如果图片颜色较浅, 则文字颜色用深色标识.解决方法是:先确定要加文字的图片区域,遍历每一个像素点, 取得该区域像素点的平均亮度, 根据平均亮度决定文字的颜色. 如果该图...

2017-04-06 09:16:53

阅读数 905

评论数 0

workerman或reactphp源码分析的前置知识

workermanworkerman源码分析 前置知识 事件驱动Libevent 信号 守护进程 Socket编程 序言

2017-03-27 09:39:52

阅读数 1200

评论数 0

symfony系列-控制器

一个控制器就是一个你自定义的PHP函数, 它用来从Symfony的Request对象中读取信息, 返回一个创建的Response对象. 可以响应html内容, json, xml, 一个下载文件, 一个302重定向, 一个404错误, 任何你可以想到的东西都行. 控制器可以执行任意的, 你的应用需...

2016-08-15 15:55:48

阅读数 759

评论数 0

Symfony系列-路由

漂亮的路由对任何一个WEB应用而言都是刚需. 这意味着我们要抛弃类似 index.php?article_id=57 这样丑陋的URL, 而使用像 /read/intro-to-symfony 语义化的url.灵活性也是非常重要的. 如果你需要把你页面所有的/blog变成/news, 你要查找多少...

2016-08-15 14:43:29

阅读数 2457

评论数 0

Symfony系列-创建你的第一个页面

创建一个新页面, 不管是html页面还是json数据 - 都需要做这简单的两步: 创建一个路由: 一个路由就是一个指向你的页面和你的控制器的URL (比如. /about) . 创建一个控制器: 一个控制器就是个你写的创建页面的PHP函数. 你接收来自客户端的请求信息, 然后根据请求来创建一个Sy...

2016-08-15 12:56:56

阅读数 868

评论数 0

使用html2canvas进行屏幕截屏

最近做到一个项目应用 , 需要把页面截屏并保存为图片. 用html2canvas 可以非常方便地办到, 以下来介绍html2canvas的使用 使用之前, 有一些需要知道的事情1. 在不通过代理的情况下只能加载同源(相同域名)的图片, 如果被渲染页面有其它的canvas,会被跨域内容污染, htm...

2016-08-08 21:40:49

阅读数 2488

评论数 0

如何创建一个composer包

如何创建一个composer包 composer已经成了php程序员的标配, 但是composer需要搭配版本控制器使用,现在最好用的版本控制器当然是git了. 所以你需要有一个github账号才能愉快地玩耍 戳这里了解composer先在你的项目根目录, 创建一个composer.json文...

2016-08-04 13:33:27

阅读数 963

评论数 0

畅想VR技术的未来

VR技术畅想 2016年是VR元年,所谓元年就是开始的一年吧。就在这一年,VR技术被国内外炒的火热,然而,作为一名技术员,应当冷静地看待VR技术将会带来的变革,以及当下这门技术的瓶颈在哪里。 所谓VR,就是虚拟现实,用计算机技术在眼前渲染出一个完全虚拟的世界。并让使用者沉浸在虚...

2016-07-21 16:46:25

阅读数 1161

评论数 0

php 实现长连接

长连接技术(Long Polling) 在服务器端hold住一个连接, 不立即返回, 直到有数据才返回, 这就是长连接技术的原理 长连接技术的关键在于hold住一个HTTP请求, 直到有新数据时才响应请求, 然后客户端再次自动发起长连接请求. 那怎么样hold住一个请求呢?服务器端的代码可能看...

2016-06-14 21:28:47

阅读数 9645

评论数 2

Symfony 系列之为什么要使用MVC

为什么使用Symfony? 为什么不使用原生的PHP写程序, 而使用诸如symfony这样的框架呢? 如果你没有使用其它PHP框架的经验, 或者不太清楚MVC是个什么东东. 那这篇文章就将告诉你!一个超级简单的博客用原生的PHP写出来的感觉可能是这样的:<?php // index.ph...

2016-06-13 21:29:38

阅读数 706

评论数 0

PHP学习建议及编码规范

PHP学习建议 PHP手册是绝佳的入门资料! 英语非常、非常、非常重要! 哑巴英语也无妨,当然口语也很重要 英语文档的质量非常好, 而且描述更准确 下载地址: http://php.net/get/php_manual_zh.chm/from/a/mirrorchm版的...

2016-06-12 21:04:01

阅读数 503

评论数 0

从浏览器输入地址按下Enter键到网页出现到底发生了什么?

问题: 在浏览器输入网址, 按下回车键, 网页出现。经历了什么过程? 其实这个问题非常能考核回答者的综合素质, 也非常地难答 硬件方面 软件方面 网络方面 外设与CPU进行通信 键盘通过外设接口电路与CPU进行通信, 外设接口电路向CPU发起中断请求, 因为该中断请求是...

2016-06-12 19:45:33

阅读数 2115

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭