编程

A collection of 11 posts
编程

PHP静态函数回传类型:static 与 self 的差异

这是AI解释的,搬到这里来免得自己忘了。 在PHP静态方法(static method)的回传类型提示中,使用 static 和 self是两个常见的选项。它们都表示方法可能返回一个类实例,但它们在继承和多态性(Polymorphism)方面的表现有所不同。 使用 self (类型被锁定) 当在 ParentClass 中使用 : ?self 时,回传类型永远锁定为 ParentClass。 class ParentClass { // 尽管 new static() 实际创建的是 ChildClass 实例, // 但类型提示被锁定在 ParentClass。 public static function factory(): self { return new static(); } } class ChildClass extends ParentClass {} // 呼叫 ChildClass::factory() $instance
1 min read
个人项目该怎么开展比较合适?
编程

个人项目该怎么开展比较合适?

平常工作期间写公司项目的业务需求,都是有一个明确的scope,准确的知道完成任务是什么样的一个状态,完成一个需求就会有满足感,然后提交到代码评审,评审过了再提交给测试,有一个完成的多人参与的一个流程,这样的话我们潜意识里觉得是成功的完成了一个业务需求,对自己的付出做出一个肯定,从而刺激我们的大脑,说好样的,而且也不会感到疲惫或者困惑。 那么对于个人项目,这其中的区别就很大了,不知道这个是否适应于所有人,起码对于我自己而言,刚开始一个个人项目的时候激情满满,好像一坐下来可以写大半天不休息的那种,但是随着项目越写越复杂,激情在渐渐减弱,这种减弱不是说对项目不感兴趣了,而是我们并没有很好的一个规划,一直处于写的状态,然后没有给自己做一个清晰的规划,到底写到哪里算是完成今天的任务,久而久之我们的大脑就会不适应,达到不了写公司项目的那种刺激,而且写个人项目仅仅是个人参与,没有其他人的正面反馈,那么这其中就很需要将这个项目scope做一个完整且清晰的规划,比如今天写哪个需求,写到哪里算结束,然后写好了怎么鼓励自己,而且可以达到一个有效的循环,而不至于导致burnout,这是很值得思考的一个问题。
3 min read
添加事件勾子
编程

添加事件勾子

WordPress中最强大的概念是有许多的勾子供开发者来修改特定的值,然后我记得前段时间看lit作者在油管上面的一个视频讲到在JavaScript中我们也可以创建一个简单的事件勾子,比如下面这段代码,在我们使用newTaskName 前,我们先发送一个自定义事件,允许项目中的其他代码,或者插件(如果你是写库给别人用)来修改我们这边的待办事项名称。 /** * Handles editing a task. * * @param {CustomEvent} event - The custom event that triggered the function, containing task details. * * @returns {Promise<void>} - A promise that resolves when the task is updated or an alert is shown on failure.
1 min read
从Docker Desktop迁移到ObrStack
编程

从Docker Desktop迁移到ObrStack

切换到旧项目文件夹,备份数据库。 ddev export-db --gzip=false > db.sql 退出Docker Desktop,接着创建新的项目地址 ~/codes/ddev/new-project-folder,启动ObrStack程序,然后运行。 // https://ddev.readthedocs.io/en/stable/users/quickstart/#wordpress ddev config --project-type=wordpress ddev start ddev wp core download 导入数据库 将数据库文件转移至当前文件夹,然后导入数据库。 ddev import-db < db.sql 或者直接在file参数上指向到旧项目数据库文件位置。 ddev import-db --file=../old-project-folder/db.
1 min read