php 和设计模式 - 对象
我们经常会用类描述对象,也经常会用对象描述类,但是这有碍于我们对于面向对象的理解,因为类决定了对象。 简而言之,类,是用来生成一个或多个对象的代码模板。 对象是根据类中定义的模板所构建的数据,我们通常会说对象是它的类的实例,对象的类型是由类定义的。 你可以用 class 关键字和任意类名来声明一个类,类名可以是任意数字和字母的组合,但不能以数字开头,类体必须定义在一对大括号内: 123456class Person{}$person1 = new Person();$person2 = new Person(); 通过关键字 new 去创建 Person 类的对象,在上面的代码中,创建了两个实例,它们是由同一个类创建的、具有相同类型的不同对象。 如果将类看作是一个生产用的铸模,那么对象就是用铸模生产出来的具体产品。 类属性我们可以在类中定义称为 属性 的特殊变量。属性也称为 成员变量,可以用来保存各个对象中不同的数据。 除了在声明它们时必须指定可见性关键字,成员变量与普通变量看起来非常相似。 可见性关键字为 private,protected 和...
php 和设计模式
场面话工作几年,复杂的业务场景,重复的 CURD 一直在消耗着我作为程序员的激情与精力,在设计模式这方面的积累从来都不够完善,出去面试时还经常会面临面试官的灵魂拷问,总觉得自己是不是就快被淘汰了。 所以,是时候下功夫整理下这方面的知识了。 开始之前,要考虑一个问题,我们为什么要学习设计模式呢? 首先从概念来讲,设计模式作为一种描述问题及其解决方案的方法,是无数的 IT 前辈在工作中总结出的 特定场景 下的 最佳解决方案,那么当我们遇到同样的场景时,就可以通过使用模式,来实现符合自己程序的解决方案,以此降低代码的耦合度,提高代码的质量,同时也方便我们后期对程序进行调整或拓展。 第二,现在大部分 PHP...
mac m1 下搭建 php 开发环境
一番挣扎之后,还是下手了 m1,真香。 homebrew 安装1/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 网慢的话,host 加映射。 1199.232.68.133 raw.githubusercontent.com php 安装看到好多人说,要把自带的 php 先卸载掉, 但是我折腾一圈发现,卸着太麻烦,不卸也没啥问题。 12brew install php@7.4brew link php@7.4 然后根据输出的信息添加环境变量: 1234echo 'export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"' >> ~/.zshrcecho 'export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"' >>...
2021 年计划清单
魔幻的 2020 已经成为过去…… 好好活着 giorgio-spa 改版 用 Qt 做个小工具箱 泰拉瑞亚毕业 梳理设计模式 redis 进一步学习 rabbitmq 进一步学习 再剪几个视频玩玩 [ bilibili ] 继续去年的软考
2020 年计划清单
上一年的计划还没有结束,新的一年它就已经来了。 laravel-vue-spa 后台,开发中 composer 包开发 学习一下手写 swoole 分布式框架 尝试做一个基于 laravel-swoole 的 websocket 项目 研究 laravel framework 继续学习 ps,做个不合格的美工 学习 pr 剪辑 软考软件设计师 软考架构师 研究下 win10 linux 子系统在开发中的使用 域名备案
闲话三两句
一又回魔都了,目前趋于稳定。 二我家大美丽也来了。 三自己的电脑刷成了 linux,目前还在探索中。 四节日快乐呀!
win10 子系统(wsl2)运行 laradock
没忍住,把家里的电脑更新到了预览版,然后体验了一下 wls2,相对于 wsl1,使用 docker 简直不要太简单。 更新 wsl2开个命令行: 12wsl --set-version Ubuntu 2wsl --set-default-version 2 下载docker wsl2 版 docker 下载 配置下载完成后,先勾选 wsl2。 然后直接重启 docker。 重启完成后,勾选你的发行版子系统。 然后再次重启 docker。 测试12bashdocker -v 重装好像把我之前的镜像都给弄没了,切到 laradock 重新下载。 正常访问,打完收工。
win10 子系统(wsl1)运行 laradock
子系统出来挺长时间了,看看配置,公司的渣机也就能玩玩wsl1,也就是第一代子系统。 算了,就这么鼓捣吧。 子系统选择 Ubuntu。 安装子系统略 配置 docker官网配置手册 先卸载旧版docker: 1sudo apt-get remove docker docker-engine docker.io containerd runc 然后再继续安装: 12345678910111213141516171819202122232425262728# 更新索引sudo apt-get update# 安装软件,允许 apt 通过 https 访问存储库sudo apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ software-properties-common# 添加Docker的官方GPG密钥curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -#...
在 laravel vue 中使用 svg 图标
在 laravel vue 中使用 svg 图标 安装扩展组件:123npm install laravel-mix-svg-vueoryarn add laravel-mix-svg-vue 在 webpack.mix.js 中添加引用:12345const mix = require('laravel-mix');require('laravel-mix-svg-vue');mix.js('resources/js/app.js', 'public/js') .svgVue(); 在 app.js 中引用组件1234import Vue from 'vue';import SvgVue from 'svg-vue';Vue.use(SvgVue); svg 使用:1<svg-vue icon="avatar"></svg-vue> 默认配置123456789{ svgPath:...
在 laradock 环境中使用 laravel-swoole 的 websocket
之前写了一篇 在 laradock 环境中使用 laravel-swoole 加速你的 laravel 应用 的博客,算是敲开了 laravel-swoole 的大门,今天就继续研究下期中的 websocket 功能。 安装 laravel-swoole这里就不写了,参考上篇。 配置 socket编辑 laravel env 文件,写入如下一行: 1SWOOLE_HTTP_WEBSOCKET=true 然后执行 php artisan swoole:http infos 查看状态 1234567891011121314151617+-----------------+-----------------------------------------------------+| Name | Value |+-----------------+-----------------------------------------------------+|...