Maison php教程 php手册 ColaPHP 2.0α发布

ColaPHP 2.0α发布

Jun 13, 2016 am 10:53 AM
代码 réduire 功能 发布 基本 大小 文件 框架 rationaliser

框架文件大小从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又回到了初见,原本简单。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment évaluer la rentabilité du support commercial des frameworks Java Comment évaluer la rentabilité du support commercial des frameworks Java Jun 05, 2024 pm 05:25 PM

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.

L'Université Tsinghua et Zhipu AI open source GLM-4 : lancent une nouvelle révolution dans le traitement du langage naturel L'Université Tsinghua et Zhipu AI open source GLM-4 : lancent une nouvelle révolution dans le traitement du langage naturel Jun 12, 2024 pm 08:38 PM

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) ? Introduction aux fonctions des pièces GT et à l'économie des jetons Quelle est la devise GateToken(GT) ? Introduction aux fonctions des pièces GT et à l'économie des jetons Jul 15, 2024 pm 04:36 PM

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

Comment les options légères des frameworks PHP affectent-elles les performances des applications ? Comment les options légères des frameworks PHP affectent-elles les performances des applications ? Jun 06, 2024 am 10:53 AM

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é.

Le modèle de code open source Mistral monte sur le trône ! Codestral est fou de formation dans plus de 80 langues, et les développeurs nationaux de Tongyi demandent à participer ! Le modèle de code open source Mistral monte sur le trône ! Codestral est fou de formation dans plus de 80 langues, et les développeurs nationaux de Tongyi demandent à participer ! Jun 08, 2024 pm 09:55 PM

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

Comment la courbe d'apprentissage des frameworks PHP se compare-t-elle à celle d'autres frameworks de langage ? Comment la courbe d'apprentissage des frameworks PHP se compare-t-elle à celle d'autres frameworks de langage ? Jun 06, 2024 pm 12:41 PM

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.

Comment choisir le meilleur framework Golang pour différents scénarios d'application Comment choisir le meilleur framework Golang pour différents scénarios d'application Jun 05, 2024 pm 04:05 PM

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 nouveau téléphone de Meizu exposé, équipé d'une grosse batterie de 6000 mAh, le Meizu 22 sortira plus tard Le nouveau téléphone de Meizu exposé, équipé d'une grosse batterie de 6000 mAh, le Meizu 22 sortira plus tard Aug 07, 2024 pm 07:02 PM

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

See all articles