タグ付けされた質問 「php」

PHPに関する質問。これは、Web開発に特に適した、広く使用されている汎用スクリプト言語です。

7
「phpは悪い言語です」というパラダイムを破る方法は?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 PHPは悪い言語ではありません(または、少なくとも一部の人が示唆するほど悪くはありません)。PHPがオブジェクト指向であることさえ知らない教師がいたのです。私たちがPHP開発者であると言うとすぐに私たちを信用しないクライアントがいて、DjangoやRoRなどのシックな言語やフレームワーク、またはJavaやASP.NETなどの「エンタープライズで堅実な」言語を使用していないことに疑問を呈しています。 FacebookはPHP上に構築されています。企業や政府で使用されているJoomlaやDrupalのようなWebを動かす多くの堅実なプロジェクトがあります。すべての言語(Symfony 2、Doctrine)で見た中で最高のアーキテクチャを備えたフレームワークとライブラリがあります。PHPには、私が見た中で最高のドキュメントと、専門家の大きなコミュニティがあります。 PHPには、リフレクション、インターフェイスなどの高度なオブジェクト指向機能があります。もちろん、PHPはtraitを介してネイティブかつクリーンに水平再利用をサポートします。 PHPに悪い評判を与えるが、同時にPHPコミュニティに力を与える悪いプログラマーとスクリプトキディがあります。PHPの処理は非常に簡単であるため、多くの場合、間違った方法で物事を行うことができますが、なぜ言語?。 さて、これを実際の答えのできる質問に要約すると、あなたがPHP開発者であると言うとき、眉をひそめることを避け、偏見を一気に止めてあなたの名誉を守るための良い、堅実で短く、甘い議論は何でしょうか?。 (ホイップクリームを含む無料のCookieは、その場で誰か(クライアントまたはその他)を説得するという経験的証拠がある人に提供します) PS:私たちはSymfonyを使用し、コードは美しく、保守可能になりました PPS:Facebook は PHPで作成され、HipHopを介してC ++にコンパイルされ、Hadoopにデプロイされます。ここ:http : //arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/1/

1
クラスをユニットテストしましたが、統合テストを開始する方法を教えてください。
この質問は、Software Engineering Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 MailChimpRecipientと呼ばれるMailChimpリストの受信者を管理するクラスを作成しました。サードパーティのAPIラッパーであるMCAPIクラスを使用します。 http://apidocs.mailchimp.com/api/1.3/ http://apidocs.mailchimp.com/api/downloads/ MCAPIオブジェクトをMailChimpRecipientオブジェクトのコンストラクターに渡すため、PHPUnitを使用して、独自のクラスのすべてのロジックをテストする単体テストを作成しました(MCAPIクラスはテストしていません)。コードカバレッジは100%で、すべてのテストに合格しています。これは、MCAPIオブジェクトのモックとスタブ化によって行われます。 次のステップでは、PHPUnitを使用して統合テストを作成し、実際のMCAPIオブジェクトを使用してMailChimpRecipientフィクスチャを構築し、実際のMailChimpリストを使用するように設定しました。 私は、次のように、基本的にオブジェクトのパブリックインターフェイスに対してテストを実行する統合テストだと思うものを書きました。 public function testAddedRecipientCanBeFound() { $emailAddress = 'fred@fredsdomain.com'; $forename = 'Fred'; $surname = 'Smith'; // First, delete the email address if it is already on the list $oldRecipient = $this->createRecipient(); if($oldRecipient->find($emailAddress)) { $oldRecipient->delete(); } unset($oldRecipient); // Add the …
19 php  unit-testing 

7
Linuxを実行するサーバーに展開されるPHPアプリケーションをWindows上で効果的に開発することは可能ですか?
WindowsでPHPをコーディングし、後でLinuxを実行しているサーバーでPHPをホストしても問題ありませんか?そのようなプロジェクトの移行に問題はありますか? 私はPHPの初心者であり、OS固有の高度な機能は使用しないため、特に問題はないと思います。ただし、Linuxがまったく好きではないので、確認したいと思います。
19 php  windows  linux 

2
「フィクスチャ」の異なる意味は何ですか?
「フィクスチャ」の概念を理解するのに多少の困難があります。テストスイートとは何か、テストケース、テスト実行は知っていますが、「フィクスチャ」とは正確には何ですか?パラメーター化されたテストケースですか? 「フィクスチャ」という用語の意味またはセマンティクスは、プログラミング言語またはテストフレームワークによってわずかに異なる可能性があるように思えますか?私はphpunitフィクスチャだと思う 「ワールドを既知の状態に設定し、テストが完了したときに元の状態に戻すコード。この既知の状態は、テストのフィクスチャと呼ばれます。」 「フィットネスフィクスチャ」とは少し異なります 「フィクスチャは、Wikiページとテスト対象の実際のシステムであるテスト対象システム(SUT)の間の橋渡し役です。」 この質問に答えることができるソフトウェアテストの専門家がここにいますか?他のプログラミング言語への参照は大歓迎です。

2
有効な状態を維持するために、つまり、オブジェクトのデータメンバーを更新するために、クラスに1つの大きなプライベート関数を定義することをお勧めしますか?
以下のコードでは、eコマースサイトでの単純な単一アイテム購入を使用していますが、私の一般的な質問は、すべてのデータメンバーを更新して、オブジェクトのデータを常に有効な状態に保つことです。 関連するフレーズとして「一貫性」と「状態は悪」を見つけました。ここで説明します:https : //en.wikibooks.org/wiki/Object_Oriented_Programming#.22State.22_is_Evil.21 <?php class CartItem { private $price = 0; private $shipping = 5; // default private $tax = 0; private $taxPC = 5; // fixed private $totalCost = 0; /* private function to update all relevant data members */ private function updateAllDataMembers() { $this->tax = $this->taxPC * …

6
小さなチームのプログラミングを計画する最良の方法は?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 私は小さなスタートアップ組織のディレクターです。現在、Webアプリケーションプラットフォームを構築している2人のプログラマ(1人は経験豊富、もう1人は経験不足)がいます。 これまでの最大の課題の1つは、計画プロセスです。プログラマーは通常、自分の仕事の計画を担当しますが、私たちは自分で決めた期限を超過し続けます。たとえば、彼らが見積もったタスクは2日かかり、8日かかります。 特定のタスクがどれくらい続くかを正確に推定するための技術的なノウハウが不足しているため、私にとって計画を支援することは困難です。 あなたは何か考えがありますか: これの理由は何ですか、これはプログラマーに一般的ですか? 計画を立てるために私ができることは何ですか?小さなチームのプログラマーに役立つ方法やツールはありますか?
18 php  planning 

1
ドル記号ブルース:JavascriptとPHP
私はすべてが安全で美しいC ++とJavaのプログラミングで育ちました。コンパイラは、私が迷ったかどうかをチェックしてくれました。もちろん、誰もが大学で少しPerlをしましたが、私は吸い込みませんでした。最近の子供たちは、バックエンドのPHPとフロントのJavascriptがすべてです。ヒップになろうとするとき、私は同じことをします(Web開発の場合)。私が遭遇し続ける問題は、誤ってJavascriptの通常の変数の前にドル記号($)を追加することです。もちろん、jQueryオブジェクトによく使用される正当な構文なので、誰も何も言いません。 このドル記号の混乱をキャッチするためのデバッグツールや開発のトリックはありますか?あなたはしばしば同じ間違いを犯しますか?また、感情的にどのように対処しますか?Chrome開発ツールでは、これがJavascriptエラーであるとは限りません。私はPhpStormとEmacsを開発に使用していますが、それらは私の愚かさをキャッチしません。 この質問がばかげていると思うなら、あなたは正しいと思う。しかし、私たちは、変数の前にドル記号がある世界に住んでいます。そのような世界では、ばかげたことは何もありません。

3
ウェブサイトのワークフローを設計する方法は?
私は、最適な答えに達することなく、これについて本当に長い間考えてきました。 まず第一に、私はプログラミングを愛する医師ですが、家庭学習と何年もの間自由な時間にコードをいじる以外は、実際に勉強したことはありません。 現在、私は自分のクリニックを管理するための小さなプロジェクトを構築しようとしています。それを行うために、私ができるようにしたいオプションのリストを作成することから始めました。 例: アクティブな患者記録。 さまざまな役割による認証(例:patient、nurse、dr) 予定表(予定表に予定の予防接種/手術などを含む) 医師が独自のプラグインを作成できるようにします。 医師が統計を表示するためのダッシュボード それから、codeigniter / mysql / php / jqueryでコーディングを開始しました。 開発中の私のステップ:- 最初のデータベース。 まず、必要なすべてのテーブルを作成しました。 これらのテーブルを処理するためにすべてのモデルを作成しました(テーブルの関係も考慮しながら、基本的な読み取り/書き込み/更新/検証を処理する1つのマスターモデル その後、ビューとコントローラーのコーディングを開始します。最初にビューHTMLを作成してから、このビューを処理するコントローラーを作成し、ビューの相互作用を機能させるためのコーディング関数を開始しました。 予約ビューをコーディングする場合の例(controller booking.php): ユーザーがクリックすると、このレイアウトが作成され、テーブルtdがクリック可能になります:jquery get(booking / add_patient_form)and pop up ユーザーが保存するとき:予約/保存に投稿-予定を保存してからindex()関数を再読み込みします など。そして、ビュー全体とプロジェクト全体を達成するために、このビューに必要なすべてのロジックを含むビューとそのコントローラーを作成する同じステップを続けました。 最後にすべてのターゲット機能が正常に機能しましたが、最初から計画がなく、プロジェクト全体がこれまでに何の計画もなくブレインストーミングとデバッグのパンチであったため、このプロジェクトに行った後、保守性と柔軟性にこだわっています!そしてそれらを一緒にリンクすることはできません。 私は、ウェブサイトのすべてのページが他のページから完全に分離されていると感じています。各ページがどのように読み込まれ、どの機能が内部にあるのかを覗き見ることさえ思い出せません! とにかくこれを回復してデザインを出すことができますか?

6
複数のデータベース/サーバーを使用したデータとの対話
私がこれまでに対処しなければならなかったプロジェクトはすべて、単一のサーバー上の単一のデータベースのみを必要としました。私は、負荷を管理するために、スケーリングする必要があるプロジェクトが複数のデータベースやサーバーにどのように移動するかについて、もっと知りたいと思っています。私は高いスケーラビリティを知っていますが、私は特にいくつかのコード例や、このテーマについてもっと読むことができる追加のリソースに興味があります。 例えば: 複数のデータベース上の2つのテーブル間で結合はどのように構築されますか?(ここのコード例が役立ちます)。 どのテーブルがどのデータベースにあるかを追跡するための特別な戦略はありますか? アプリケーションコードは、1つ以上のデータベースが複数のサーバーに分散していることを知る必要がありますか?そうでない場合、要求はどのレベルでフィルタリングされますか? 1データベース/ 1サーバーのセットアップを超える時期はいつですか?これを行う必要があるのはどれくらい一般的ですか?
18 php  sql 

4
PHPが完全にUnicodeをサポートできないのはなぜですか?
PHPにはUnicodeに問題があることは誰もが知っています。Unicodeの実装が困難なため、バージョン6は事実上放棄されています。しかし、正確な理由は何か知っているのだろうか?アーキテクチャ/設計の問題、パフォーマンスの問題、コミュニティの問題(私は違います)、他に何か?

8
Webアプリケーション(PHP)開発用のベストプラクティスワークフローツールを検討してください。[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 私の答えの例に従って、より経験のある人が質問を編集できることを本当に望んでいます: バージョン管理を使用する テスト駆動開発 デバッグコード(PHPのxdebug) UML図の使用 保守可能で再利用可能なコードのためのOOPの使用 迅速なアプリケーション開発のためのフレームワーク(PHPのZend Frameworkなど)の使用 他に何か、または私が上で述べたことの詳細? 基本的に、私は開発者のチーム(私自身は開発者です)を結成している最中です。プロのプログラマー/デザイナーなどがどのように連携すべきか、どの標準/パラダイムを使用すべきかについてアドバイスをお願いします。 また、誰かが本に関する本やリンクを持っているなら、それを歓迎します! 私はこれを見つけましたが、私が探しているもの、または少なくともその一部を満たしていると思います: http://www.ibm.com/developerworks/websphere/library/techarticles/0306_perks/perks2.html

1
PHPは内部的にどのように文字列を表しますか?
UTF8? UTF16? PHPの文字列も使用されているエンコーディングを追跡しますか? たとえば、このスクリプトを見てみましょう。私が実行すると言う: $original = "शक्नोम्यत्तुम्"; 実際に何が起こりますか? 明らかに、$original7文字しか含まれないと思います。それらのグリフはそれぞれ、数バイトで表される必要があります。 それから私は: $converted = mb_convert_encoding ($original , "UTF-8"); どうなり$convertedますか?とどう$converted違うの$original? それはまったく同じバイトシーケンス$originalですが、異なるエンコーディングを使用していますか?
18 php  strings 

11
動的言語は常に解釈されますか?
ほとんどの(すべてではないにしても)動的言語(Python、PHP、Perl、Rubyなど)を見ると、それらはすべて解釈されます。私が間違っている場合は修正してください。コンパイル段階を経る動的言語の例はありますか?動的言語はインタープリター言語と同一ですか?

1
なぜPHPはそんなに嫌われているのですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 最近、PHPがどれほどひどいものであるかについて、いくつかのジョークや漫画に出くわしました。 言語の完全な無知として、これはなぜですか?それは私自身の認識ですか、それともプログラミングコミュニティの全体的な一般的な感覚ですか?
17 php 

5
PythonがJavaより遅いが、PHPより速いのはなぜですか[非公開]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 特定のタスクで多くの言語がどのように機能するかを示すさまざまなベンチマークを見てきました。 これらのベンチマークは、PythonがJavaよりも遅く、PHPよりも速いことを常に明らかにしています。なぜそうなのか疑問に思います。 Java、Python、およびPHPは仮想マシン内で実行されます 3つの言語はすべて、プログラムをOS 上で実行されるカスタムバイトコードに変換するため、ネイティブで実行されるものはありません JavaとPythonは両方とも「コンパイル」できますが(.pycPythonの場合)、Pythonの__main__モジュールはコンパイルされません。 PythonとPHPは動的に型付けされ、Javaは静的に型付けされます-これがJavaの方が高速である理由です。 また、dynamic-vs-static引数が正しい場合でも、PHPがPythonより遅い理由は説明できません-両方とも動的言語であるためです。 いくつかのベンチマークはこちらとこちら、そしてこちらでご覧いただけます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.