APhpWeb网站发布的关于使用php进行web开发的文章。
Handsontable中,提供了一系列的渲染器函数,别名除了 html外,基本和单元格类型一样。如果这些无法满足实际需求, 我们可以使用单元格属性 renderer来实现想要的效果。单元格渲染可以增加小图标点击打开对话框,展示或编辑更多信息。
Handsontable中,目前有文本类型(默认)、自定义类型、数值、日期、时间、复选框、单选、下拉框、自动完成、密码、Handsontable这些单元格类型。 本章将展示除了自定义类型之外的单元格类型,一些配置选项请查看官方文档。
Handsontable中,数据源的绑定有两种方式:数组列表或对象列表。两种方式都支持只展示指定的元素、深层数据展示,以及直接修改数据源。 在处理复杂的业务时(数据源结构变更等),对象列表的方式具有更好的可读性、可维护性以及扩展性。所以,推荐使用对象列表的数据源绑定方式。
PHP提供了ZipArchive类,可以实现指定文件打包,并下载的功能。 可是,当文件比较多比较大的时候,打包需要很长时间处理,这样就需要用户等待,体验不是很好。 这时候,我们可以使用管道机制,不生成压缩包,而是一边压缩一边下载。这个功能需要用到popen函数和zip命令。
最近需要使用svg绘制圆和圆弧做图标,记录下来,以备后用。使用 path中 d属性中的 a来绘制弧度,控制弧长;使用 transform中的 rotate来旋转控制弧的开始角度。
Layer中的 tips跟随元素提示是一个不错的功能,但是自动消失的接口并不完美, 如果内容中有 a链接,或者 Button按钮需要点击操作,需要额外的代码开发。
此方法是使用html的转义字符,可以将email、url转义,增加网页采集器的采集难度。一种是 {十进制};,一种是 %{十六进制}
introjs是一款对用户进行网站操作进行指引的js库,在实际的项目开发中, 会遇到需要在点击下一步的时候,根据当前所在步骤进行额外事件操作的需求。但是官方网站在对Events进行介绍时,只介绍了一个onbeforeexit事件。 对于这种情况,我是严重怀疑的,通过使用F12开发者工具,我发现introjs的事件还真不少。
php代码,提供一种方式生成唯一字符串uuid,md5函数可以换成hash等其他摘要算法, key值可以加上ip、useragent等用户标识,自由发挥。
WebP是Google推出的图片格式,它比PNG、JPG格式的图片更小,既能节省流量,也能加快网站加载速度。 但是并不是所有的浏览器都支持WebP格式图片的展示,所以需要兼容性解决方案。
Chrome 80+版本浏览器,默认修改了SameSite配置,导致跨域网站间的Cookie失效,iframe下面的跨域网站一直登陆失效。
APhpWeb的logo和favicon,是使用SVG代码实现的,为了让logo显眼点,就给logo中的文字加上了平移,中心点旋转、缩放的效果。 中心点主要靠 CSS属性transform-origin实现。
PHP提供了readfile函数可以用作文件下载,这个函数对于10M以内的小文件也完全足够。 但是当下载文件达到几百M的时候,就可能会出现报错:Allowed memory size of bytes exhausted。 这时的解决方案是使用 fopen函数自己读取文件,并在输出的时候,使用 ob_flush和 flush函数, 定时清除缓冲区内容,解决内存问题。
PHP开发工程师常用软件的软件,有ApwWnmpServer,PhpStorm,Git,Chrome,Navicat Premium,SecureCRT等。