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又回到了初见,原本简单。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











2023년 3월 14일 ChatGLM-6B가 출시된 이후 GLM 시리즈 모델은 광범위한 관심과 인정을 받았습니다. 특히 ChatGLM3-6B가 오픈소스로 공개된 이후 개발자들은 Zhipu AI가 출시하는 4세대 모델에 대한 기대감이 가득합니다. 이러한 기대는 마침내 GLM-4-9B의 출시로 완전히 충족되었습니다. GLM-4-9B의 탄생 소형 모델(10B 이하)에 더욱 강력한 기능을 제공하기 위해 GLM 기술팀은 약 반년 만에 새로운 4세대 GLM 시리즈 오픈 소스 모델인 GLM-4-9B를 출시했습니다. 탐구. 이 모델은 정확성을 보장하면서 모델 크기를 크게 압축하고 추론 속도가 더 빠르고 효율성이 높습니다. GLM 기술팀의 탐색은 아직 이루어지지 않았습니다.

Java 프레임워크에 대한 상용 지원의 비용/성능 평가에는 다음 단계가 포함됩니다. 필요한 보증 수준과 SLA(서비스 수준 계약) 보장을 결정합니다. 연구지원팀의 경험과 전문성. 업그레이드, 문제 해결, 성능 최적화와 같은 추가 서비스를 고려하십시오. 위험 완화 및 효율성 향상을 기준으로 비즈니스 지원 비용을 평가합니다.

GateToken(GT) 화폐란 무엇인가요? GT(GateToken)는 GateChain 체인의 기본 자산이자 Gate.io의 공식 플랫폼 통화입니다. GT 코인의 가치는 Gate.io 및 GateChain 생태계의 발전과 밀접한 관련이 있습니다. GateChain이란 무엇입니까? GateChain은 2018년에 탄생했으며 Gate.io가 출시한 차세대 고성능 퍼블릭 체인입니다. GateChain은 사용자의 온체인 자산의 보안을 보호하고 편리한 분산 거래 서비스를 제공하는 데 중점을 두고 있습니다. GateChain의 목표는 기업 수준의 안전하고 효율적인 분산형 디지털 자산 저장, 유통 및 거래 생태계를 구축하는 것입니다. 게이트체인에는 원본이 있습니다.

경량 PHP 프레임워크는 작은 크기와 낮은 리소스 소비를 통해 애플리케이션 성능을 향상시킵니다. 그 특징은 다음과 같습니다: 작은 크기, 빠른 시작, 낮은 메모리 사용량, 향상된 응답 속도 및 처리량, 리소스 소비 감소 실제 사례: SlimFramework는 500KB에 불과한 REST API를 생성하며 높은 응답성과 높은 처리량을 제공합니다.

PHP 프레임워크의 학습 곡선은 언어 숙련도, 프레임워크 복잡성, 문서 품질 및 커뮤니티 지원에 따라 달라집니다. PHP 프레임워크의 학습 곡선은 Python 프레임워크에 비해 높고 Ruby 프레임워크에 비해 낮습니다. Java 프레임워크에 비해 PHP 프레임워크는 학습 곡선이 적당하지만 시작하는 데 걸리는 시간이 더 짧습니다.

51CTO Technology Stack(WeChat ID: blog51cto)에서 제작 Mistral이 첫 번째 코드 모델 Codestral-22B를 출시했습니다! 이 모델의 놀라운 점은 많은 코드 모델이 무시하는 Swift 등을 포함하여 80개 이상의 프로그래밍 언어로 훈련되었다는 것 뿐만이 아닙니다. 그들의 속도는 정확히 동일하지 않습니다. Go 언어를 사용하여 "게시/구독" 시스템을 작성해야 합니다. 여기 GPT-4o가 출력되고 있는데 Codestral이 종이를 너무 빨리 넘겨서 보기 힘들 정도예요! 해당 모델은 출시된 지 얼마 되지 않아 아직 공개 테스트를 거치지 않았습니다. 하지만 Mistral 담당자에 따르면 Codestral은 현재 가장 성능이 좋은 오픈 소스 코드 모델입니다. 사진에 관심 있는 친구들은 다음으로 이동할 수 있습니다. - 얼굴을 안아주세요: https

8월 6일, CNMO는 Meizu의 새 휴대폰이 다시 노출되었다는 사실을 알아냈습니다. 소식통이 제공한 정보에 따르면 Meizu는 6000mAh 초대형 배터리를 탑재할 것으로 예상되는 중급 모델을 준비하고 있으며 당분간 Meizu 22 시리즈에 대한 소식은 없을 것으로 예상됩니다. Qualcomm Snapdragon 8Gen4 모바일 플랫폼이 탑재될 예정이며 출시 시기는 더 늦어질 수 있습니다. CNMO는 이전의 새로운 Meizu 휴대폰을 언급하면서 Meizu 22 시리즈가 2025년 1분기에 출시될 수 있다고 믿고 있습니다. 1. Meizu의 새 휴대폰은 국가 품질 인증을 통과했으며 모델은 M431Q입니다. 이 기기는 보급형 모델로 포지셔닝되며 10W 충전만 지원하며 가격은 1,000위안 안팎이 될 것으로 예상된다. 이 휴대폰은 메이주(Meizu) 하위 브랜드인 메이주(Meizu)의 제품으로 의심됩니다. M431Q는 다른 여러 모델과 함께 올해 5월 데이터베이스에서 발견되었습니다. 이번에 국가품질 합격

애플리케이션 시나리오를 기반으로 최고의 Go 프레임워크를 선택하세요. 애플리케이션 유형, 언어 기능, 성능 요구 사항 및 생태계를 고려하세요. Common Go 프레임워크: Gin(웹 애플리케이션), Echo(웹 서비스), Fiber(높은 처리량), gorm(ORM), fasthttp(속도). 실제 사례: REST API(Fiber) 구축 및 데이터베이스(gorm)와 상호 작용. 프레임워크를 선택하세요. 주요 성능을 위해서는 fasthttp를 선택하고, 유연한 웹 애플리케이션을 위해서는 Gin/Echo를, 데이터베이스 상호작용을 위해서는 gorm을 선택하세요.
