ホームページ php教程 php手册 PHPの問題: PHP Webサイトデザインの問題を徹底解説

PHPの問題: PHP Webサイトデザインの問題を徹底解説

Jun 21, 2016 am 08:51 AM
php

はしがき

私は変な気性を持っています。いろいろなことについて文句を言います。私はこの地球上のほとんどのテクノロジーが好きではありません。

PHP は使いにくいだけでなく、私が望むものには適していないか、最も満足のいくものではないか、私の信念に反しています。私が避けたい言語の良い点も、気に入っている悪い点もすべて話すことができます。さあ、聞いてください!会話も面白くなりますよ!

php が唯一の例外です。 PHP が抽象化するほとんどすべてのものは断片化されています。言語、フレームワーク、そしてエコシステム全体を含めて混乱しています。悪口だけはあちこちに壊れているので、かろうじて挙げることができます。 PHP に関する苦情の複雑なリストをまとめようとするたびに、些細な詳細に脇道にそれてしまい、深く掘れば掘るほど、より衝撃的な事実が見つかります。

php は恥ずかしいです。とても壊れていましたが、訓練されたアマチュアはそれを賞賛しました。 PHP はいくつかの些細な改善策を講じていましたが、私はそれを忘れることにしました。

しかし、これをシステムから取り出さなければならないので、これが最後の試みです。

例え

私は何気なくメルに苦情を言っただけですが、彼女はそれを出版するよう主張しました。

PHP の何が問題なのかさえ分かりません。なぜなら、それは問題ないからです。工具箱があるように考えてください。たくさんのツール。見た目は大丈夫、標準的なもの。

ネジを外すと、奇妙な頭が 3 つ付いています。まあ、これはあなたにとってあまり役に立ちませんが、いつか役に立つでしょう。

ハンマーを取り出すと、両側に鋭い爪がありました。それでも効果はあります、つまり両端の真ん中で斜めに打つことができます。

バイスを取り出しますが、側面には鋸歯状の部分がありません。表面は平らで滑らかです。それほど便利ではありませんが、それでも機能するので、問題ありません。

続行できます。道具箱の中身は奇妙で曖昧ですが、価値がないわけではありません。全体的に大きな問題はなく、ツールはすべて揃っています。

さて、これらの道具を使っている大工がたくさんいて、彼らがあなたにこう言うと想像してください。「これらの道具の何が問題なのですか? 私たちは皆、それらを使っていますが、とてもうまくいきます!」。職人が建てた家を見せてもらいます。扉は五角形で、屋根は曲線を描いています。玄関のドアをノックするとドアが内側に落ちてしまい、あなたがドアを壊したと彼らは苦情を言います。

これは PHP の問題です。

位置

言語の生産性と使いやすさには次の性質が重要であると思いますが、PHP はそれらの性質を大規模に損なうものです。もしあなたがこのどれにも同意しないなら、私たちが同意するとは到底思えません。

言語は予測可能でなければなりません。人間の思考をコンピュータの実行に反映する媒体であるため、重要なのは、プログラムに対する人間の理解が実際に正しくなければならないということです。

言語は一貫していなければなりません。似ているものは似ていて、違うものは違って見えるはずです。言語の一部を学習すれば、残りの部分は簡単に理解できるはずです。

言語は簡潔でなければなりません。新しい言語は、古い言語からそれほど悪くない形式を継承する必要があります。 (マシンコードを書くこともできます。) 新しい言語では、新しい独自の形式を織り込むことを避けるように努めるべきです。

言語は信頼できるものでなければなりません。言語は問題を解決するためのツールであり、新しい問題を持ち込むことはできるだけ避けるべきです。いかなる「罠」も、大きな混乱を招くことになります。

言語はデバッグ可能である必要があります。何か問題が発生した場合、プログラマーはそれを修正しなければならず、私たちは必要な支援を得る必要があります。

私の立場は次のとおりです:

PHP には驚きがたくさんあります: mysql_real_escape_string、E_ACTUALLY_ALL

PHP の不一致: strpos、str_rot13

PHP には特別な形式が必要です: error-checkingaroundCAPIcalls、===

PHP の奇妙さ: ==。 for($fooas&$bar)

PHP は不明瞭です: デフォルトではスタック トレースや致命的なエラーはなく、複雑なエラー レポート

なぜこれらのカテゴリに分類されるのかを 1 つの質問でも説明することはできません。そうでないと、際限なく説明してしまいます。読者はご自身で考えていただけると思います。

このようなことについて私に話すのはやめてください

私は有利な議論をたくさん知っています。という反論もよく聞きます。これは会話を即座に停止させるだけです。こんなくだらないことを私に与えるのはやめてください。

「優れた開発者はどんな言語でも良いコードを書ける」とか、悪い開発者について私に話さないでください。 .バーバーバーバー。これでは意味がありません。優れた職人は石やハンマーを使って釘を扱うことができますが、石を使っている職人を何人見たことがありますか?優れた開発者であるための基準の 1 つは、ツールの選択が上手であることです。

何千もの例外や癖を覚えるのが開発者の仕事だなんて言わないでください。はい、コンピュータは愚かなので、これはどのシステムでも必要です。これは、システムが上限なしで異常な金額を受け入れることができるという意味ではありません。 PHP には例外があるだけでは十分ではありません。言語に取り組み始めると、実際にプログラムを作成するためにさらに労力を費やす必要があります。私のツールはアプリの作成方法に良い影響を与えません。

「それが CAPI の仕組みだ」とは言わないでください。高級言語が提供できるのはいくつかの文字列ヘルパー関数と多数の C ラッパーだけである場合、この地球上での高級言語の目的は何でしょうか?その場合は、C を使用してください。ここでは、CGI ライブラリも用意されています。

「変なことをするのは自業自得だ」なんて言わないでください。 2 つのプロパティが存在する場合、いつか誰かがそれらを一緒に使用する理由を見つけるでしょう。繰り返しますが、これは C ではありません。ここには仕様がなく、「未定義の動作」も必要ありません。

Facebook や Wikipedia が PHP を使用しているなんて言うのはやめてください。それはもう知っています。これらは Brainfuck で書くこともできますが、十分に賢く、これらをいじくり続ける限り、いつでもプラットフォームの問題を克服できます。誰もが知っているように、他の言語で書かれた場合、開発時間は半分または 2 倍に短縮される可能性があります。これらの数字だけを引き出すことに意味はありません。

神様、これ以上私からくだらないことを言わないでください!ここに挙げた点があなたの PHP の意見を傷つけないのであれば、それで構いません。ですから、オンラインで無意味な議論をするのはやめて、私が間違っていることを証明するクールでクールなサイトを開発し続けてください。

こっそり教えてください。私は Python がとても好きです。あなたが本当に聞きたくないことも、喜んで話します。完璧であることを求めているわけではありません。長所を活かして短所を避け、自分が望む最高のものをまとめようとしているだけです。



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

See all articles