PHP开发的几点想法记录
1. 如果要快速开发,可以考虑使用MVC框架
使用像 CodeIgniter 这样的MVC框架了在快速开发中很有效,MVC框架并不强迫你写面向对象的代码,它们仅將php代码与html分离。
- 明确区分php和html代码,在团队协作中有好处,设计师和程序员可以同时工作。
- 面向对象设计的函数能让你更容易维护。
- 内建函数完成了很多工作,你不需要重复编写。
- 开发大的应用是必须的。
- 很多建议、技巧和hack已被框架实现了。
2. 將 error_reporting 设为 0 未必万事大吉
错误报告 E_FATAL 错误是很重要。
ini_set('display_errors', 1);
error_reporting(~E_WARNING & ~E_NOTICE & ~E_STRICT);
注意:
- 这个让 web 服务器记录错误信息的文件 '/path/to/errors.txt' 应该让 web 服务器具有可写的权限。
- 这个错误日志文件要独立开来。否则所有的各种日志,包括 apache web 服务器的日志、其它的错误日志都将混杂在一起了。
- 而且,为当前应用程序设置的错误日志文件应该只记录了当前应用程序的错误日志(有可能web 服务器上还运行了其它的应用程序)。
- 应用的错误日志应该放在当前应用程序的某个目录下,使得像 /var/log 这样的系统目录不再需要去寻找。
- 不要设置 error_reporting 为 0。这会使得所有发生的一切都不会被记录。
另外,set_error_handler 应该被用于设置一个用户自定义的错误处理方法。例如,这个特有的功能,可以记录所有的错误到一个文件中。
在开发环境的 php.ini 中设置 'display_errors=On'
在开发环境的 php.ini 里,启用 display_errors 的权限是很重要的 (且不要依赖于 ini_set 的设置)。这是因为任何编译时发生的错误都不允许 ini_set 来运行,这会导致出现一个空白页面而没有任何错误信息被显示出来。
同样的,在 php.ini 中设置为了 on,但在代码中把其设置为了 off,那么错误发生时同样显示不出来。
在产品环境的 php.ini 中设置 'display_errors=Off'
不要依赖于代码 init_set('display_errors' , 0); 因为如果编译时代码发生错误,那么这条语句就不会被执行,而错误信息就会马上显示给了客户。
3. 试试在 Linux 上开发
如果你已经在 windows 系统上进行开发了,那么你可能需要试试在 linux 上做开发。我最喜欢的 Linux 是 Ubuntu。虽然这只是可选的开发环境之一,但我仍然强烈地感觉到 linux 开发环境是一个更好的开发环境。
PHP 应用通常被部署到 linux (LAMP)环境中。然而,在类似的开发环境能够帮助一个健壮的应用程序跑得更快。
在 Ubuntu 系统上,通过安装包管理器,大多数开发工具都可以非常容易地安装到系统中。除此之外,仅通过少量的配置就可以设置好他们并跑起来。而最美妙的是,这些工具都是免费的!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Java フレームワークの商用サポートのコスト/パフォーマンスを評価するには、次の手順が必要です。 必要な保証レベルとサービス レベル アグリーメント (SLA) 保証を決定します。研究サポートチームの経験と専門知識。アップグレード、トラブルシューティング、パフォーマンスの最適化などの追加サービスを検討してください。ビジネス サポートのコストと、リスクの軽減と効率の向上を比較検討します。

PHP フレームワークの学習曲線は、言語熟練度、フレームワークの複雑さ、ドキュメントの品質、コミュニティのサポートによって異なります。 PHP フレームワークの学習曲線は、Python フレームワークと比較すると高く、Ruby フレームワークと比較すると低くなります。 Java フレームワークと比較すると、PHP フレームワークの学習曲線は中程度ですが、開始までの時間は短くなります。

軽量の PHP フレームワークは、サイズが小さくリソース消費が少ないため、アプリケーションのパフォーマンスが向上します。その特徴には、小型、高速起動、低メモリ使用量、改善された応答速度とスループット、および削減されたリソース消費が含まれます。 実際のケース: SlimFramework は、わずか 500 KB、高い応答性と高スループットの REST API を作成します。

ベンチマークによると、小規模で高性能なアプリケーションの場合、Quarkus (高速起動、低メモリ) または Micronaut (TechEmpower に優れた) が理想的な選択肢です。 SpringBoot は大規模なフルスタック アプリケーションに適していますが、起動時間とメモリ使用量が若干遅くなります。

明確で包括的なドキュメントを作成することは、Golang フレームワークにとって非常に重要です。ベスト プラクティスには、Google の Go コーディング スタイル ガイドなど、確立されたドキュメント スタイルに従うことが含まれます。見出し、小見出し、リストなどの明確な組織構造を使用し、ナビゲーションを提供します。スタート ガイド、API リファレンス、概念など、包括的で正確な情報を提供します。コード例を使用して、概念と使用法を説明します。ドキュメントを常に最新の状態に保ち、変更を追跡し、新機能を文書化します。 GitHub の問題やフォーラムなどのサポートとコミュニティ リソースを提供します。 API ドキュメントなどの実践的なサンプルを作成します。

アプリケーションのシナリオに基づいて最適な Go フレームワークを選択します。アプリケーションの種類、言語機能、パフォーマンス要件、エコシステムを考慮します。一般的な Go フレームワーク: Jin (Web アプリケーション)、Echo (Web サービス)、Fiber (高スループット)、gorm (ORM)、fasthttp (速度)。実際のケース: REST API (Fiber) の構築とデータベース (gorm) との対話。フレームワークを選択します。主要なパフォーマンスには fasthttp、柔軟な Web アプリケーションには Jin/Echo、データベース インタラクションには gorm を選択してください。

Go フレームワーク開発における一般的な課題とその解決策は次のとおりです。 エラー処理: 管理にはエラー パッケージを使用し、エラーを一元的に処理するにはミドルウェアを使用します。認証と認可: サードパーティのライブラリを統合し、資格情報を確認するためのカスタム ミドルウェアを作成します。同時処理: ゴルーチン、ミューテックス、チャネルを使用してリソース アクセスを制御します。単体テスト: 分離のために getest パッケージ、モック、スタブを使用し、十分性を確保するためにコード カバレッジ ツールを使用します。デプロイメントとモニタリング: Docker コンテナを使用してデプロイメントをパッケージ化し、データのバックアップをセットアップし、ログ記録およびモニタリング ツールでパフォーマンスとエラーを追跡します。

Go フレームワークの学習には、フレームワークへの過度の依存と柔軟性の制限という 5 つの誤解があります。フレームワークの規則に従わない場合、コードの保守が困難になります。古いライブラリを使用すると、セキュリティと互換性の問題が発生する可能性があります。パッケージを過度に使用すると、コード構造が難読化されます。エラー処理を無視すると、予期しない動作やクラッシュが発生します。
