跟福哥学编程吧~~
介绍tfmodel类对于常规的CRUD操作不直接通过tfdo类实现,而是通过tfdao类的派生类组实现,tfdao类的派生类包括tfdaoSingle、tfdaoOneToOne、tfdaoManyToMany三个。tfdaoSingle类是单数据表操作类,支持insert、update、delete方法,支持常规条件查询的方法sel...
跟福哥学编程吧~~
介绍今天我们来学习TFPHP框架的tfdo数据库操作类的使用技巧,本教程兼容TFPHP v0.6.9及更早版本。TFPHP官方网址:https://tongfu.net/soft/63.htmlTFPHP官方Github网址:https://github.com/tongfunet/tfphp配置web-inf/config/tfph...
跟福哥学编程吧~~
介绍介绍准备准备开发模型model/member.inc.phpnamespace tfproject\model; use tfphp\model\tfmodel; use tfphp\tfphp; class member extends tfmodel&n...
跟福哥学编程吧~~
RouteFacade::__callStatic()$instance => Facade::getFacadeRoot() -> Facade::resolveFacadeInstance(Facade::getFacadeAccessor()) -> RestContainer::...
跟福哥学编程吧~~
正常语法class myClass {     public function __construct(array $args){     }     publ...
跟福哥学编程吧~~
下载下载tfphp配置配置Apache测试测试
跟福哥学编程吧~~
下载下载tfphp
跟福哥学编程吧~~
步骤
跟福哥学编程吧~~
准备工作配置数据源config.xml<database>     <default driver="mysql" host="tfmysql" port="3306" use...
跟福哥学编程吧~~
开发建立user模型model/user.inc.phpclass user extends tfmodel{     public function __construct(tfphp $tfphp){   &...
跟福哥学编程吧~~
介绍介绍前面福哥已经教给大家使用Dockerfile制作自己的镜像的方法了,今天我们使用Dockerfile制作一个PHP7+Apache的运行环境的镜像,用来部署PHP应用程序和服务。福哥选择的基础镜像是php:7.4-apache-buster,这个镜像可以从官方拉取。环境镜像版本php:7.4-apache-buster操作系统...
跟福哥学编程吧~~
介绍介绍之前福哥教给大家使用docker部署Elasticsearch搜索引擎环境,但是没有教给大家如何使用PHP去操作Elasticsearch。因为PHP并没有一个扩展用来操作ES,官方提供的是一个类库包,这个官方推荐使用composer来安装这个类库包。那么composer是什么东东?composer是一个基于PHP语言开发的一...
跟福哥学编程吧~~
介绍介绍前面福哥已经教给大家使用php:7.4-apache-buster基础镜像搭建PHP运行环境了,这个是以模块方式(Module)运行PHP程序的,相比较这种方式更多人会选择主流的以FastCGI方式运行PHP程序,以FastCGI方式运行PHP程序就要用到PHP的FPM服务(FastCGI Process Manager)了。...
跟福哥学编程吧~~
安装安装包github安装包地址https://github.com/krowinski/php-mysql-replication https://github.com/doctrine/dbalhttps://github.com/doctrine/event-manager https://github.com/php-fig/...
跟福哥学编程吧~~
介绍介绍福哥在使用PHP开发一个允许用户输入伪代码实现自定义业务逻辑的功能时候,想到了使用PHP的eval功能动态解析PHP代码并且执行来实现。不过,福哥发现了一个问题。大家都知道PHP的语法错误是在解析PHP代码的环节就会触发的严重错误,这个错误无法通过set_error_handler钩住它进行自定义处理,这个可能难坏了我了!毕竟...
跟福哥学编程吧~~
介绍介绍前面福哥已经教给大家使用Dockerfile安装各种服务器软件的方法了,今天福哥要带着大家把TFLinux服务器上的软件都转移到Docker容器里面。使用Docker容器搭建服务器环境是现如今部署服务器环境的主流方式,福哥顺应潮流将Docker这种部署方式教给大家,活到老学到老嘛~~这次福哥整理的是PHP+FPM+Nginx环...
跟福哥学编程吧~~
介绍介绍今天福哥要带着大家来通过Rancher部署PHP环境了,同样的我们还是使用php:7.4-fpm-buster这个镜像作为基础镜像。因为php-fpm不能处理静态页面内容,所以我们还会使用nginx:1.20这个镜像作为基础镜像部署一个Nginx环境。就是PHP环境只处理PHP程序,而Nginx环境负责处理镜头内容。还有一点需...
跟福哥学编程吧~~
介绍介绍福哥在使用elasticsearch-php库去操作Elasticsearch搜索引擎的时候,发现了不同版本的ES搜索引擎需要用对应版本的elasticsearch-php库去操作,因为不同版本的ES搜索引擎支持的参数有很多区别,这个确实比较恶心!那么福哥今天就把ES的三个大版本的常用操作的代码整理出来分享给大家!获取索引列表...
跟福哥学编程吧~~
介绍介绍php7.4.6是一个划时代的产品,它让php对于强类型编程的支持度提升到了前所未有的的高度,不仅仅支持函数参数强类型,还支持函数返回值强类型,甚至对象属性也都支持强类型了在这样的环境下编写php是非常舒服的,一写复杂的功能也可以通过php来实现了,可靠性比着前面的版本要强太多了https://tongfu.net/home/...
跟福哥学编程吧~~
介绍介绍福哥需要在php里使用AES加密解密功能,今天整理出来和大家分享一下。早期的PHP实现AES借助的是mcrypt扩展,后来在PHP7之后就换成了openssl扩展来实现了。mcrypt版本代码比较复杂且需要自己实现PKCS7补位的逻辑,而openssl版本则默认使用了PKCS7补位不需要自己来编写代码实现了。通过openssl...
跟福哥学编程吧~~
介绍介绍php脚本有着非常强大的库支持,可以轻松做出特别强大的程序。php不仅仅可以搭建各种各样的网站系统、平台系统,还可以开发基于控制台运行的程序。不过使用php开发的控制台程序在使用的时候需要保证包含库文件的相对路径结构,这个在使用上不是很方便。如果有一个方法可以把整个php项目都变成一个php文件就好了。其实php自身支持一种叫...
跟福哥学编程吧~~
介绍介绍福哥把PHP从Apache module换成了Fpm,跑了几天突然发现网站打不开了。页面显示超时,检查MySQL、Redis一众服务都正常。进入Fpm容器查看日志,发现了如下的错误信息:server reached pm.max_children setting (5), consider raising it原因原来默认情况...
跟福哥学编程吧~~
介绍介绍福哥今天带着大家完成修改个人资料表单的后一部分,实现表单的数据载入功能。要实现表单数据的载入首先得开发一个表单数据的接口,这个表单数据接口需要对应一个单独的实体对象。根据资源路径命名规范,路径里只能出现资源名称,不能出现事件行为。提交表单和数据载入都属于用户的个人资料数据,不能建立两个个人资料接口,怎么办?我们可以使用资源路径...
跟福哥学编程吧~~
介绍介绍福哥今天会带着大家完成设置用户头像的功能的开发。设置用户头像是一个特殊的表单,它含有文件上传功能的HTML输入控件,处理这种表单需要一些技巧。文件上传功能需要使用类型为file的HTML输入控件,我们的TFPHP框架的表单是使用AJAX技术进行提交的,而前面我们使用jQuery的serialize方法收集表单数据的方式并不适用...
跟福哥学编程吧~~
介绍介绍福哥今天要带着大家完成TFUMS系统的修改登录密码功能。修改登录密码功能相对比较简单,一般网站会直接让登录用户随便改登录密码,这样存在一个问题,就是当用户登录后离开电脑,“陌生人”操作电脑修改了登录密码,用户回来后发现无法登录就尴尬了!福哥为了避免这个问题,在修改登录密码的时候要求操作者(也可能不是用户本人)提高当前的登录密码...
跟福哥学编程吧~~
介绍介绍福哥今天要给TFPHP框架添加一个新的对象,就是用来加工图片的工具对象TFImage。一般情况下,在做web开发的时候会有很多场合需要对用户上传的图片进行加工处理,常有的加工操作有缩小、旋转、裁剪、加水印、写文字等等。在PHP里面如果要对图片进行加工处理的话就需要用到GD扩展库了,这个GD扩展库在我们的TFLinux里面已经安...
跟福哥学编程吧~~
介绍介绍在现如今的互联网时代里电子邮件的使用率大幅度降低了,除了企业内部发通知之外就剩下网站平台发送激活邮件使用了。但是无论如何发送邮件这个需求还是有的,而大多数发送邮件都是使用SMTP协议方式发送的,因为匿名邮件会被大多数客户端(如:Outlook、Foxmail、GMail等等)自动丢尽垃圾箱里面了。今天福哥就要给我们的TFPHP...
跟福哥学编程吧~~
介绍介绍福哥今天要带着大家完成绑定邮箱功能的前半部分——发送绑定邮箱激活码邮件。这里面有几件难题:1)要实现邮件激活码,需要设计一个可逆的加密/解密功能;2)激活链接必须是一个完整的URL地址;3)激活链接必须有时效性。第一个问题,福哥经过再三考虑决定使用AES算法实现一个可逆的加密/解密功能,为了保证每次的激活码不一样,原数据增加随...
跟福哥学编程吧~~
介绍介绍福哥今天带着大家完成绑定邮箱功能的后一部分——验证绑定邮箱激活码功能。这个激活码的验证需要几个步骤:1)根据激活码使用AES算法解密得到原始数据;2)判断激活码内的用户状态是否正常;3)判断激活码内的邮箱地址是否被占用;4)写入绑定邮箱数据。解密激活码比较简单,不过要考虑一个时间差的问题,因为激活码的时间戳精确到1个小时,而生...
跟福哥学编程吧~~
介绍介绍福哥今天带着大家完成会员中心的最后一个表单——设置安全问题的开发。这个安全问题一般情况下是不允许修改的,所以我们暂时也不提供修改的功能。密码安全问题一共有三组,每一组一个问题配着一个答案。问题都是一样的,所以实际上我们是在一组问题里面挑出三个问题。既然问题是固定的,就可以用编号来表示,而答案是根据用户自己的想法写的,只能是原封...