ColaPHP 2.0α发布
框架文件大小从188KB精简到131KB,代码量减少30%,基本功能没有减少,主要归功于将很多成员变量public化,大大减少了set/get方法,另外就是重构了一些代码,尤其是一些以前有点看不下去又不能大改的代码。
还有一个明显的变化是把Com改到Ext,以前的想法是组件化(Component),有朋友反馈Com含义不明确容易误解,我也自觉组件这个词太大了,就改名Ext(扩展 Extension),简单一点,核心+扩展。好的命名代码完成了一半,当然有朋友觉得Ext也晦涩,目前感觉还好了。
和大家分享一些这次2.0开发中两件有趣的事情:
1)返回值的问题
很久以前在twitter上说过想把所有的返回值都改成{‘code’ : 0, ‘data’ : xxx}这样的,这次在开发的时候在犹豫要不要把所有的返回值都改成这样。
PHP还不是一个完全面向对象的语言,至少不能像python那样重载__bool__方法,这样直接的结果,我不能直接判断返回值,原来
if ($obj->foo($bar)) {
// do something
}
如果改返回数组,代码要改成:
$result = $obj->foo($bar);
if (0 === $result['code']) {
// do something
}
不太喜欢,多了一行代码,也不符合”懒惰”程序员的思维,会调整很多人的”神经”。
最近也很喜欢Go语言的错误处理方式,返回数据以及错误信息,所以ColaPHP返回值大多改造成还是返回操作值,失败就返回false,但是多提供了一个error成员变量,方便快速获取错误信息:
if ($obj->foo($bar)) {
// do something
} else {
var_dump($obj->error);
}
算是一个trade-off的方案吧,不过还是比较满意。
2) 异常处理
ColaPHP 1.x版本挺喜欢抛异常的,一些影响流程的错误全部抛异常,简单粗暴直接有效。在开发2.0的时候犹豫是不是要给使用者友好的错误信息,不想使用者一用到ColaPHP的代码就try {} catch {}之类的,流程断不断,交给程序员自己控制(这也是ColaPHP的设计哲学之一)。
犹豫了许久,google了一些PHP处理异常方式方法的文章,看到Laruence的我们什么时候应该使用异常?,权衡一下还是觉得直接抛比较好,相比try-catch,更难忍受充斥着if-else的代码,两害取其轻吧。
总的感觉,ColaPHP 2.0又回到了初见,原本简单。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

L'évaluation du rapport coût/performance du support commercial pour un framework Java implique les étapes suivantes : Déterminer le niveau d'assurance requis et les garanties de l'accord de niveau de service (SLA). L’expérience et l’expertise de l’équipe d’appui à la recherche. Envisagez des services supplémentaires tels que les mises à niveau, le dépannage et l'optimisation des performances. Évaluez les coûts de support commercial par rapport à l’atténuation des risques et à une efficacité accrue.

Depuis le lancement du ChatGLM-6B le 14 mars 2023, les modèles de la série GLM ont reçu une large attention et une grande reconnaissance. Surtout après que ChatGLM3-6B soit open source, les développeurs sont pleins d'attentes pour le modèle de quatrième génération lancé par Zhipu AI. Cette attente a finalement été pleinement satisfaite avec la sortie du GLM-4-9B. La naissance du GLM-4-9B Afin de donner aux petits modèles (10B et moins) des capacités plus puissantes, l'équipe technique de GLM a lancé ce nouveau modèle open source de la série GLM de quatrième génération : GLM-4-9B après près de six mois de exploration. Ce modèle compresse considérablement la taille du modèle tout en garantissant la précision, et offre une vitesse d'inférence plus rapide et une efficacité plus élevée. L’exploration de l’équipe technique du GLM n’a pas

Quelle est la devise GateToken(GT) ? GT (GateToken) est l'actif natif de la chaîne GateChain et la devise officielle de la plateforme Gate.io. La valeur des pièces GT est étroitement liée au développement de l’écologie Gate.io et GateChain. Qu’est-ce que GateChain ? GateChain est née en 2018 et est une nouvelle génération de chaîne publique performante lancée par Gate.io. GateChain se concentre sur la protection de la sécurité des actifs en chaîne des utilisateurs et sur la fourniture de services de transaction décentralisés pratiques. L'objectif de GateChain est de créer un écosystème de stockage, de distribution et de transaction d'actifs numériques décentralisé, sécurisé et efficace au niveau de l'entreprise. Gatechain a l'original

Le framework PHP léger améliore les performances des applications grâce à une petite taille et une faible consommation de ressources. Ses fonctionnalités incluent : une petite taille, un démarrage rapide, une faible utilisation de la mémoire, une vitesse de réponse et un débit améliorés et une consommation de ressources réduite. Cas pratique : SlimFramework crée une API REST, seulement 500 Ko, une réactivité élevée et un débit élevé.

Produit par 51CTO Technology Stack (WeChat ID : blog51cto) Mistral a publié son premier modèle de code Codestral-22B ! Ce qui est fou avec ce modèle, ce n'est pas seulement qu'il est formé sur plus de 80 langages de programmation, dont Swift, etc., que de nombreux modèles de code ignorent. Leurs vitesses ne sont pas exactement les mêmes. Il est nécessaire d'écrire un système de « publication/abonnement » en langage Go. Le GPT-4o ici est en cours de sortie, et Codestral remet le papier si vite qu'il est difficile de le voir ! Le modèle venant tout juste d’être lancé, il n’a pas encore été testé publiquement. Mais selon le responsable de Mistral, Codestral est actuellement le modèle de code open source le plus performant. Les amis intéressés par la photo peuvent se déplacer vers : - Faire un câlin : https

La courbe d'apprentissage d'un framework PHP dépend de la maîtrise du langage, de la complexité du framework, de la qualité de la documentation et du support de la communauté. La courbe d'apprentissage des frameworks PHP est plus élevée par rapport aux frameworks Python et inférieure par rapport aux frameworks Ruby. Par rapport aux frameworks Java, les frameworks PHP ont une courbe d'apprentissage modérée mais un temps de démarrage plus court.

Choisissez le meilleur framework Go en fonction des scénarios d'application : tenez compte du type d'application, des fonctionnalités du langage, des exigences de performances et de l'écosystème. Frameworks Go courants : Gin (application Web), Echo (service Web), Fibre (haut débit), gorm (ORM), fasthttp (vitesse). Cas pratique : construction de l'API REST (Fiber) et interaction avec la base de données (gorm). Choisissez un framework : choisissez fasthttp pour les performances clés, Gin/Echo pour les applications Web flexibles et gorm pour l'interaction avec la base de données.

Le 6 août, CNMO a remarqué que le nouveau téléphone de Meizu était à nouveau exposé. Selon les informations fournies par la source, Meizu prépare un modèle de milieu de gamme, qui devrait être équipé d'une batterie ultra-grande capacité de 6000 mAh. Il n'y a pas de nouvelles de la série Meizu 22 pour le moment. être équipé de la plate-forme mobile Qualcomm Snapdragon 8Gen4, et l'heure de sortie pourrait être ultérieure. Se référant aux précédents nouveaux téléphones Meizu, CNMO estime que la série Meizu 22 pourrait être lancée au premier trimestre 2025. 1. Le nouveau téléphone de Meizu a passé la certification nationale de qualité et son modèle est le M431Q. Cette machine se positionne comme un modèle d'entrée de gamme et ne prend en charge qu'une charge de 10 W. Le prix devrait être d'environ 1 000 yuans. Le téléphone est soupçonné d'être un produit de la sous-marque Meizu Meizu. Le M431Q a été découvert dans la base de données en mai de cette année, avec plusieurs autres modèles. Cette fois, la qualité nationale a été dépassée
