php框架

从零开始基于go-thrift创建一个RPC服务

匿名 (未验证) 提交于 2019-12-02 23:48:02
Thrift 是一种被广泛使用的 rpc 框架,可以比较灵活的定义数据结构和函数输入输出参数,并且可以跨语言调用。为了保证服务接口的统一性和可维护性,我们需要在最开始就制定一系列规范并严格遵守,降低后续维护成本。 Thrift开发流程是:先定义IDL,使用thrift工具生成目标语言接口( interface )代码,然后进行开发。 官网: http://thrift.apache.org/ github:https://github.com/apache/thrift/ 将Thrift IDL文件编译成目标代码需要安装Thrift二进制工具。 Mac 建议直接使用 brew 安装,节省时间: brew install thrift 安装后查看版本: $ thrift -version Thrift version 0.12.0 也可以下载源码安装,参考:http://thrift.apache.org/docs/install/os_x。 源码地址:http://www.apache.org/dyn/closer.cgi?path=/thrift/0.12.0/thrift-0.12.0.tar.gz CentOS 需下载源码安装,参考:http://thrift.apache.org/docs/install/centos。 Debian/Ubuntu 需下载源码安装

第6章 AOP与全局异常处理

匿名 (未验证) 提交于 2019-12-02 22:11:45
第6章 AOP与全局异常处理 https://coding.imooc.com/learn/list/97.html Ŀ¼: 第6章 AOP与全局异常处理 6-1 正确理解异常处理流程 13:23 6-2 固有的处理异常的思维模式与流程 14:23 6-3 理清思路,总结异常的分类_ 06:33 6-4 实现自定义全局异常处理 上 17:04 6-5 实现自定义全局异常处理 下 16:04 6-6 ThinkPHP5中的日志系统 14:34 6-7 在全局异常处理中加入日志记录 09:13 6-8 全局异常处理的应用 上 25:23 6-9 全局异常处理的应用 中 12:04 6-10 全局异常处理的应用 下 04:16 6-11 本章小结与AOP思想 12:56 6-1 正确理解异常处理流程 13:23 curl+alt+o 快速移除无用的use引入命名空间 静态调用model层处理业务流程,上面要引入命名空间, model里文件名字和控制器的名字同名时,引入时上面要as一个别名 6-1-1 全局异常处理要做两件事情: 记录日志 做出统一的异常处理 6-2 固有的处理异常的思维模式与流程 14:23 6-2-1 ˼·: 控制器里调用model层验证异常,model层如果抛出异常,catch就会捕捉到并抛出异常 model里抛出异常 运行结果 重要:

PHP框架 nginx 伪静态规则

匿名 (未验证) 提交于 2019-12-02 22:11:45
最近在调研各种的PHP框架(ThinkPHP, Laravel, Yii)感觉Laravel看上去很美,深入了解了下。开发机使用的是Apache,Stage上跑的nginx,部署后碰到所有的重定向都报404错误的情况。搞了半天,最后把下面这段代码加到nginx的配置中终于搞定了。 try_files $uri $uri/ @rewrite; location @rewrite { rewrite ^/(.*)$ /index.php?_url=/$1; } 配置文件看上去是这样的: server { listen 80; server_name yourdomain.com; root 'PATH_POINTING TO YOUR PUBLIC WEB FOLDER'; index index.php; try_files $uri $uri/ @rewrite; location @rewrite { rewrite ^/(.*)$ /index.php?_url=/$1; } # PHP FPM configuration. location ~ \.php { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$;

php 开源项目汇总

匿名 (未验证) 提交于 2019-12-02 22:11:45
WordPress是最热门的开源个人信息发布系统(Blog)之一,基于PHP+MySQL构建。WordPress提供的功能包括: 1.文章发布、分类、归档。 2.提供文章、评论、分类等多种形式的RSS聚合。 3.提供链接的添加、归类功能。 4.支持评论的管理,垃圾信息过滤功能。 5.支持对样式CSS和PHP程序的直接编辑、修改。 6.在Blog系统外,方便的添加所需页面。 7.通过对各种参数进行设置,使你的Blog更具个性化。 8.静态html页面生成。 9.通过选择不同主题,方便地改变页面的显示效果。 10.通过添加插件,可提供多种特殊的功能。 11.支持Trackback和pingback。 12.支持针对某些其它blog软件、平台的导入功能。 13.支持多用户。 14.安装最简单。 15.Web标准支持非常好。 16.使用比较简单。 17.拥有大量的主题与插件。 Mambo 【PHP开源 内容管理CMS】 Mambo是一个功能丰富、采用PHP+MySQL搭建、最优秀的动态门户引擎/内容管理系统(CMS),能够用于建设拥用几个页面到几千个页面的网站。它具有: 1、强大的内容编排功能 只需要熟悉简单的在线编辑方式就可以维护自己的网站内容 2、丰富、精美的模板/主题可供选择 3、优秀的性能 采用独有的网站 缓存 技术,让动态网站拥有静态网站的速度 4、针对搜索引擎收录而优化的功能。

tp框架中ajax里面写多个php变量有问题

匿名 (未验证) 提交于 2019-12-02 22:11:45
window.location.href="{:U('Index/wxBind')}?bind=yes&tel="+tel; } else layer.alert(d.msg, {skin: 'layui-layer-molv',closeBtn: 0}); } }); 上面的写法php里面获取不到你想要的值,下面的才可以 window.location.href="{:U('Index/wxBind')}?bind=yes&tel="+tel; } else layer.alert(d.msg, {skin: 'layui-layer-molv',closeBtn: 0}); } }); 文章来源: tp框架中ajax里面写多个php变量有问题

PHP微服务也可以这样玩 -- Service Mesh在IOT场景的最佳实践

匿名 (未验证) 提交于 2019-12-02 22:11:45
【导言】 【正文】 在智慧城市的大浪潮之下,文思海辉推出SaaS化的HiFM智慧楼宇管理方案,涵盖了人、物、环境等多个元素,业务流程包括预算管理、系统检测、工单管理、预算管理、供应商管理、资产管理、问题管理等。HiFM智慧楼宇管理方案进一步提升楼宇管理的自动化水平,也让现代楼宇系统具备环境监测、能耗监控、设备智能监控等能力,成为更智慧的楼宇管理中枢。这也要求楼宇管理系统能够更灵活、快速的满足个性化业务场景的要求。 PHP和微服务,是否是一场错配? PHP语言具有运行高效、部署快速、扩展库功能强大、且HiFM智慧楼宇管理系统的研发团队具有多年的PHP语言研发经验,能够快速、准确地实现复杂的业务需求,因此HiFM系统首选PHP语言作为系统的主开发语言。 HiFM系统由数十个功能模块 组成,业务模块耦合性高。随着系统功能不断丰富,复杂性不断提升,系统体量越来越大,维护和升级成本不断攀升。HiFM系统作为面向企业用户的SaaS解决方案,需要对接大量企业已有的业务系统,这使得系统变得越发臃肿。为了减小耦合性,HiFM系统启用了前后端分离的模式,更为轻巧快速的PHP框架,但这并未从根本上解决所有问题。而从长远来看,HiFM系统必将扩展更多边缘模块,对接更多的个性化业务系统,这对系统架构提出严峻挑战。 我们决定选用微服务架构解决这些难题。微服务技术带来的好处不言而喻,独立开发、独立部署、独立发布

php框架(一)------解析url

匿名 (未验证) 提交于 2019-12-02 22:11:45
1.parse_url 解析 URL,返回其组成部分 mixed parse_url ( string $url [, int $component = -1 ] ) 本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分; 返回值: 对严重不合格的 URL,parse_url() 可能会返回 FALSE; 如果省略了 component 参数,将返回一个关联数组 array,在目前至少会有一个元素在该数组中。数组中可能的键有以下几种: scheme - 如 http host port user pass path query - 在问号 ? 之后 fragment - 在散列符号 # 之后。 <?php $url = 'http://username:password@hostname/path?arg=value#anchor'; print_r(parse_url($url)); echo parse_url($url, PHP_URL_PATH); ?> //输出 Array ( [scheme] => http [host] => hostname [user] => username [pass] => password [path] => /path [query] => arg=value [fragment] => anchor )

CentOS7 + Phpstorm + Xdebug本地和远程调试配置教程大全

匿名 (未验证) 提交于 2019-12-02 22:11:45
疑难杂症,可以通过服务器端的xdebug.remote_log进行诊断处理。 一、前言 初学PHP语言,一般会推荐notepad++等编辑器进行开发。但是入门之后,使用phpstrom等IDE好处多多,比如学习一些框架的时候, 断点调试 对于理解框架的整个运行机制和生命周期无可替代。在生产环境中,IDE的调试的变量监控对于 提高开发效率 也至关重要。当然了,每个行业都有前1%的人,程序员也不例外,使用VIM也未尝不可。 本篇的主要写作原因是,Xdebug配置对于新手来说问题多多,网上的教程多是一家之言,对于很多配置的官方文档来源语焉不详,缺乏对于可能存在的问题的调试办法,对于各种本地、远程等各种环境下的配置不做兼顾。本篇将就以上问题的每一个 细节的来源、机理 尽量加以说明,争取做到读者可以 触类旁通 ,不必查找其他资料。 二、准备和系统说明 使用Vmware安装CentOS作为web开发机实践 】 开发机配置的是Nginx + php7.0 所有步骤依赖Phpstorm的配置说明,即settings->Languages&Frameworks->PHP->Debug 特别注意,本文的全部内容都是按照下图的Pre-configuration里的4个步骤进行的。如果你遇到本文中没有涉及到的问题,可以点击第一步中的Validate debugger configuration on

PHP入门(一)

匿名 (未验证) 提交于 2019-12-02 22:11:45
一,在学习之前要做的准备工作。   1.安装PHP的服务器组件,我这里使用的是 AppServ (因为它相对来说比较轻便),其实更多人使用的是 WampServer 和 phpStudy   2.在网上搜索AppServ 然后下载,双击打开, 点击next( 下一步 ), 然后 选择 I Agree(同意协议), 接着这里是选择安装 AppServ 的路径,默认是安装在c盘,可以点击右边的 Browse 选择你的安装路径,然后 点击next( 下一步 )    然后把这里的四个都勾选上,      . 也是可以的,下面的是邮箱,可以随便填,例如:123@qq.com,    接着这里要注意了:Apache HTTP Port 这里是设置服务器端口,默认是80, 为了避免和其他服务器端口冲突,要改一个比较好记的,如:8085或者8088 (当然,前提是还没有其他的服务器端口设置了才行)   当然,你不改也是可以的(但是为了避免冲突,一般都会修改一下)。   把上面三项都填好之后,点击next(下一步)    接下来这里是要设置数据库的密码:进入 root 的密码: 一定要记得你设置的密码,可以设置得简单点,如:123456,下面的就是重复输入密码:123456    下面的字符集格式就是默认的 UTF-8 (中文)就可以了,然后点击 Install(安装) ,安装过程大概一分钟  

不要在PHP7中踩这些坑

匿名 (未验证) 提交于 2019-12-02 22:11:45
PHP是当今仍然是最流行的Web开发语言,目前在所有使用服务端编程语言的网站中,超过83%的站点在使用PHP。PHP7在性能方面实现跨越式的提升,然后有些坑我们还是要提醒PHPer不要踩。 1. 不要使用 mysql_ 类函数 终于,你不用再看到建议不要使用 mysql_ 函数的提示了。因为 PHP 7 从核心上完全移除了它们,这意味着请你移步至更好的 mysqli_ 类函数,或者更灵活的 PDO 层。可以看看我们这篇文章 PHP安全之使用PDO防SQL注入 2. 不要写无用的代码 这看上去是个无脑建议,但是随着 PHP7 速度的提升掩盖了一些问题使它显得日趋重要。不要仅仅因切到 PHP7 让网站速度变得快点,你就沾沾自喜了。 初学者加速优化指南 。 作为开发者,应该确保按需加载脚本,可能时再组合,编写高效的数据库查询语句,如果可能的话 使用缓存 等等。 3. 不要在文件末尾使用 PHP 闭合标签 如果你随便看看,就会发现大部分 WordPress 核心代码文件结尾都省略了 PHP 闭合标签。事实上,Zend 框架尤为明显地 禁止了闭合标签。它并非 PHP 所必须,在文件结尾处省略它,可确保结尾无额外空白。 4. 如非必须不要引用传参 我个人非常不喜欢引用传参。我当然知道在某些场合下它很有用,但是多数场合下,它会使得代码难以理解,难以遵循,难以预测结果。