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

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

2
さまざまなTimeZonesを処理する最良の方法は何ですか?
私は、世界中から多くの異なるユーザーが更新を行うWebアプリケーションに取り組んでいます。タイムゾーンを処理する最善の方法は何でしょうか?理想的には、イベントが発生すると、すべてのユーザーが現地時間を使用してそれを表示します。 サーバーのOS時刻をGMT、物理的な場所の時刻、または開発場所の時刻に設定する必要がありますか? アプリケーションロジック(PHP)とデータベース(MySQL)は、データをGMTまたは現地時間(ユーザーの現地時間)として保存するように設定する必要がありますか? 業界標準、または私が見ていなかった単純で明白なソリューションさえありますか?
9 php  mysql 

5
PHPで任意精度の算術関数を使用する必要があるのはいつですか?
私の同僚は、帯域幅の計算にBinary Calculator関数を使用しています。テラバイトと同じくらい、割り振り時にパーセンテージが分割されます。バイトを失うことがないように、彼のこれらの関数の使い方は正しいようです。彼は今、すべてにそれらを使用しているようですが。 マニュアルは言うだけです: 任意精度の数学のために、PHPは文字列として表される任意のサイズと精度の数値をサポートするBinary Calculatorを提供します。 どのくらいのサイズですか?本当に必要ですか?PHPのデフォルトのフロートはどのくらいの大きさですか?これまたは覚えておくべきことに関して何か良いアドバイスはありますか?
9 php 

2
MixinとTraitの違いは何ですか?
ScalaとHackからわかることから ミックスイン: 状態を持つことができます(つまり、インスタンスプロパティ) 具体的な方法しか提供できない クラスが混合されたのと同じ順序で呼び出されるコンストラクターを持つことができます もしA混合物中BとC、A instanceof B == falseそしてA instanceof C == false 特徴: メソッドのみを提供でき、状態は提供できません コンシューマが実装する必要がある抽象メソッドを宣言できます コンストラクタを持つことはできません AトレイトBとを実装する場合C、A instanceof B == falseおよびA instanceof C == false これは正しいですか、または何か不足していますか?これらの定義は、任意のOO言語に対して正確ですか、それとも上記の言語に対してのみ正確ですか?

2
DDD:再利用可能なモジュールとサービスタイプの区別(ドメイン、インフラストラクチャ、アプリケーション)の作成
したがって、「Vaughn Vernonによるドメイン駆動設計の実装」を読んだ後、コアドメインの概念と思われるものを個別のモジュールに分離することにより、再利用性を高めるためにコードをリファクタリングすることにしました。 各モジュールには、ドメイン、インフラストラクチャ、アプリケーション/プレゼンテーションレイヤーを含む独自のアーキテクチャレイヤーのセットが含まれています(ヴォーンの推奨に従って、アプリケーションレイヤーの責任をルート、MVCコントローラー+テンプレートに存在するテンプレートからさらに分離することにしましたプレゼンテーション層)。 これらの各レイヤーを独自のパッケージ内に配置することにしました。各パッケージは、その下のレイヤーを依存関係として参照しています。つまり、プレゼンテーション層はアプリケーション層に依存し、アプリケーションはインフラストラクチャに依存します。リポジトリはドメインの一部であるため、各リポジトリインターフェースはドメイン層/パッケージ内に存在し、実装はインフラストラクチャ層/パッケージ(Doctrine 、など)。 この方法でコードを再構築することで、アプリケーションレイヤーをスワップアウトし、複数のWebアプリケーション間でドメインを再利用できることを願っています。 最終的にコードは再び形を整え始めているように見えますが、それでも私を混乱させるのは、アプリケーション、インフラストラクチャ、ドメインサービスのこの違いです。 ドメインサービスの一般的な例の1つは、パスワードのハッシュに使用するものです。ユーザーエンティティは、ユーザーの資格情報を格納するために使用される可能性のあるさまざまなハッシュアルゴリズムに関与する必要がないため、これはSRPの観点からは理にかなっています。 そのことを念頭に置いて、私はこの新しいドメインサービスを私のリポジトリと同じように扱いました。ドメインでインターフェースを定義し、実装をインフラストラクチャ層に任せることにより。しかし、私は今、アプリケーションサービスで何をすべきかについて考えています。 現在のところ、各エンティティには独自のアプリケーションサービスがあります。つまり、ユーザーエンティティにはアプリケーション層内にUserServiceがあります。この場合のUserServiceは、プリミティブデータ型の解析と一般的なユースケース「UserService :: CreateUser(string name、string email、etc):User」の処理を担当します。 私が気になるのは、アプリケーション層を交換することにした場合、複数のアプリケーションにわたってこのロジックを再実装する必要があるという事実です。だから私はこれが私の次のいくつかの質問につながると思います: ドメインサービスは、インフラストラクチャレイヤーとモデル間の抽象化レイヤーを提供するために存在する単なるインターフェイスですか?例:リポジトリ+ HashingServicesなど 私はこのようなアプリケーションサービスを持っていると述べました: Access / Application / Services / UserService :: CreateUser(string name、string email、etc):User メソッドシグネチャは、プリミティブデータ型の引数を受け入れ、新しいユーザーエンティティ(DTOではない!)を返します。 これは、ドメインレイヤー内で定義されたいくつかのインターフェイスの実装としてインフラストラクチャレイヤーに属しますか、それともプリミティブデータ型の引数などにより、実際にはアプリケーションレイヤーがより適切ですか? 例: Access/Domain/Services/UserServiceInterface そして Access/Infrastructure/Services/UserService implements UserServiceInterface 個別のモジュールが一方向の関係をどのように処理するか。モジュールAは、モジュールBのアプリケーションレイヤー(現在行っているように)またはインフラストラクチャの実装(個別のインターフェイスを介して)を参照する必要がありますか? アプリケーション層サービスには別のインターフェースが必要ですか?答えが「はい」の場合、それらはどこに配置する必要がありますか?

1
ホストされた共有PHPスクリプトからローカルMSSQLにデータを安全に送信する
Webhook(Webカートから)からローカルのMicrosoft SQL Serverにデータを追加しようとしています。私にとって最良のルートは、PHPスクリプトを使用して新しいデータ(jsonとしてのPOST)をリッスンし、それを解析してから、クエリを実行してMSSQLに追加することです。 PHPスクリプト(共有ホストのWebサイトにあります)とローカルMSSQLデータベースの間の接続に関するセキュリティについてはよく知りません。PHPスクリプトを同じローカルホストで実行したままにします(ApacheをWindowsで実行します)が、WebhookのURIはパブリックにアクセスできる必要があります。 または、ローカルホストからスクリプトをスケジュールして、WebカートAPIを介して定期的に更新を確認することもできますが、私のようなアマチュアプログラマーにとってはWebhookの方が簡単です。 リモートの共有ホストでPHPを使用してローカルマシンのMSSQLに接続する場合、セキュリティを確保するためにどのような手順を実行できますか?

5
ほとんどのMVC厳格なphpフレームワーク[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 5年前休業。 私は約6か月間、MVCパターンに頭を悩ませてきました。MVCおよびHMVCパターンに関する大量の記事、Q&A、ブログ投稿を読んだことがありますが、100%にはなりません。 広く使用されているPHP MVCフレームワークの1つであるCodeIgniterを使用してMVCを学習してみました。私はそれを使って自社の内部Webサイトをいくつか実装しました。それでも、100%取得することはできません。何かを学ぶための最良の方法の1つは、厳密に定義されたルールに従うことです。 だから私の質問は: MVCパターンの実装方法に関して、最も厳密なPHPフレームワークは何ですか?MVCを完全に取得できるように、モデル、コントローラー、ビューの使用方法を定義するものですか?
8 php  mvc  frameworks 

2
JavaとPHPのメモリ/ CPU消費
私はPHPベースの会社で働いています。バックエンドサービスを作成するプロジェクトがあります。Javaよりも遅いですが、ここの上級メンバーはPHPを採用しています。彼らの唯一の論点は、メモリとCPU負荷の両方の観点から見ると、JavaはPHPよりも重いということです。 JVMはコンテナー環境に似ています。荷物を多く持ち込むと、それだけ多くの量を消費しますが、ここで話しているサービスは中程度の複雑さになります。だから、それはそれほど厳しいことではないでしょう(またはそれはでしょうか?) 私はこの質問が曖昧に大きく傾いていることを理解していますが、私が考えていることは、それは常に同じケースですか?そのJavaはよりハードウェアを要求しますか?私は、実際のシナリオがどのように見えるかについて、あなたが経験したすべての人々の意見を知りたいです。
8 java  php  memory 

3
値ではなく「$ this」を返すクラスメソッドを持つことは、基本的な原則ですか、それとも非常に望ましいですか?
私は本当にOOPを学び始めたばかりです。私は約1年前に開始し、おそらく15,000行を書きました。しかし、他の人のOOPを見た経験はほとんどありませんでした。 ほとんどのクラス関数は値を返すか、クラスのプロパティを変更してtrue / falseを返します。値を返すものの一部は、その値をクラスプロパティに保存します(クラスプロパティが既に設定されているかどうかを最初に確認した後、データベースの呼び出しを回避できます)。 今私はMagento / Zendで多くの掘り下げを行っており、それらのクラスメソッドの多くが "$ this"を返すことに気づきました。私が理解しているように、通常の関数とは異なり、$ thisを返すクラスメソッドは値ではなく参照によって動作するため、コピーではなく、最初に開始したのと同じオブジェクトを取得できます。 $thisもっとやりたいことを返すのですか?コードの保守と使用が容易になりますか?$thisクラスメソッドをチェーンするために戻り値は必要ですか?

3
なぜGOTOはPHP 5に含まれていたのですか?[閉まっている]
ここで何が尋ねられているのかを知るのは難しい。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 7年前休業。 GOTOコントロールキーワードがPHP 5.3.0で導入されたことを少し前に発見しました。 http://php.net/manual/en/control-structures.goto.php なぜそれが起こったのですか? この背後にある言語設計の目標は何ですか? PHP開発者コミュニティはそれを求めましたか?

3
プロのPHPプログラマーの特徴[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 7年前休業。 私は19歳の学生で、本当にプログラミングを楽しんでいます。ここでの長年の経験を活用したいと思っています。現在、私はあらゆる機会にPHPを勉強しています。正式なクラスを受講したことはありませんが、約3年になります。いつかプログラマーとしてフルタイムで働いて、良いキャリアを築きたいと思っています。 あなたへの私の質問はこれです:あなたはプロのプログラマーの特徴や特徴とは何だと思いますか?主にPHPの分野ですが、PHPは趣味の言語であり、潜在的な雇用主の目には最適な言語ではない可能性があるため、他のより一般的な資格も歓迎されます。私が間違っていたら訂正してください。何よりも価値のないものに時間を費やしたくない。 私は現在、言語としてのPHPの知識にかなりの自信を持っています。必要なものをほぼすべて構築して「機能」させることができることはわかっていますが、デザインコンセプトとコード構造に非常に欠けていると感じています。オブジェクト指向のコードを書くこともできますが、個人的には、適切に構成されていない場合、豆の山の価値はありません。このため、マット・ザンストラの本「PHPオブジェクト、パターン、そしてプラクティス」を購入し、毎日少しずつ読んでいます。 とにかく、私はここで少し脱線し始めているので、元の質問に戻ります。この分野に影響を与えたいと思う意欲的なプログラマーにどんなアドバイスをしますか? また、余談ですが、私は私の友人とプロジェクトに取り組んでおり、コーディングの賢いところについてかなり良いアイデアが得られるでしょう。リンクを貼るつもりですが、ここで私がプッシュしたりスパムしたりしているように誰にも感じさせたくないので、望まない場合はクリックしないでください。しかし、そこにもフィードバックを提供することに興味がある場合は、githubでコードを確認できます。私はそこでザ・クローとして知られています。 https://github.com/PureChat/PureChat--Beta-/tree/

3
支払いプロバイダーとの統合。適切で堅牢なOOPアプローチ
歴史 現在、私たちはオンライン支払いにいわゆるリダイレクトモデルを使用しています(支払人を支払いゲートウェイに送信し、そこで彼は支払いの詳細を入力します-ゲートウェイは成功/失敗のコールバックページに戻ります)。これは簡単でわかりやすい方法ですが、残念ながら非常に不便であり、お客様を混乱させることがあります(サイトを離れる、別のサイトに追加ログインしてクレジットカードの詳細を変更するなど)。 意図と問題の説明 現在、XML要求と応答の交換を使用する統合アプローチに切り替える予定です。私の問題は、処理中に発生する可能性のあるすべて(またはほとんど)の要求にどのように対応するかです。通常、単純さは堅牢であり、複雑さは壊れやすいことを念頭に置いてください。 例 ユーザーによる中止:ユーザーはクレジットカードの詳細を入力し、送信を押します。プロバイダーのゲートウェイへのXMLメッセージが送信され、応答を待ちます。ユーザーがブラウザで「停止」を押すか、ウィンドウを閉じます。 PHPのignore_user_abort()はオプションかもしれませんが、それは信頼できますか? ユーザーを「お待ちください」ページにリダイレクトすると、接続に依存しない実際のプロセッサへのAJAXまたはその他の要求が開かれます。 データベースがなくなる 非常に複雑に聞こえますが、たとえば、米国のWebサーバーと英国のDBの場合、これは発生し、また発生します。ユーザーが注文を一緒にクリックすると、支払い要求がプロバイダーに送信されましたが、応答をデータベース。個々のステップに応じて、PHPを使用して「トランザクション」のようなSQLを開始し、最後にのみコミットまたはロールバックするアプローチを使用できますか?その後、コミットもロールバックも発生しなかった場合、ユーザーを「ロック」して、ユーザーが再度支払うことを防いだり、不適切に支払いを説明したりしないようにすることができます。 また、技術的に他に何を検討する必要がありますか?たとえば、Worldpay、Realex、SagePayの統合例では、洞察が得られません。また、私の検索エンジンまたは私の検索用語は、これについて他の誰かの考えを見つけるのに十分ではありませんでした。 これにどのように取り組むかについての洞察をありがとうございました!
8 design  php  payment 

4
PHPからNode.jsに変更することでメリットがありますか(コンテキスト内)[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 状況:本質的にはロギングサービスをロールアウトしようとしています。PHPはかなり重いので、現在の実装ではそれを使用しています。 約200台のコンピューター(ほとんどが同じネットワーク上にある)があり、それぞれがHTTP POST経由で1日あたり約5000の要求を送信します。各リクエストには約300バイトのデータが含まれます。 受信側はAmazonでホストされており、すべてをデータベースに入れる単純な検証を備えた非常に単純なPHPフォームです。 今、私は最近Node.jsを紹介されましたが、ここのバックエンドに適しているかどうか知りたいです。 これをテストするために何かを簡単に構築できることは確かです。しかし、非同期の方法論を完全に把握していないので、経験のある人に説明してほしい。
8 php  node.js 

3
PHPを使用する場合の(null!= $ object)と($ object!= null)の(ある場合)違いは何ですか?
私はJavaに慣れているので、条件は左から右に解釈されると常に考えています。つまりnull != $obj、$obj != null これは、PHPには当てはまらないようです。 常にnull左側から始めると、PHPで何か問題がありますか?Javaからの動作を維持できますか、それともPHPの条件を処理するときに何か他のことをするようにトレーニングする必要がありますか?

3
タグ内の終了セミコロンを省略する-良いアイデアですか?
タグ内の終了セミコロンを省略できます。 例: <table> <th><td>Name</td><td>Email</td> <? foreach ($receivers as $receiver): ?> <tr> <td><?= $receiver->name ?></td> <td><?= $recevier->email ?></td> </tr> <? endforeach ?> </table> の<? endforeach ?>後にセミコロンがないことに注意してくださいendforeach。PHPのドキュメントは 言います: PHPコードのブロックの終了タグは、自動的にセミコロンを意味します。PHPブロックの最終行をセミコロンで終了する必要はありません。 なぜ私はこのテーマを取り上げるのですか? 現在、私と私の友人は、MVC(model-view-controller)を使用した独自のPHPプロジェクトで働いています。そのため、私はSmarty、MustacheなどのPHPテンプレートエンジンをいくつか評価し、独自の自家製テンプレートエンジンを設計しました。しかし、PHP自体がテンプレートエンジンであることを読んだとき、何かが「クリック」しました。テンプレートエンジンとしてPHPの限定されたサブセットを使用することにチームで同意しないのはなぜですか?そして、ルールを守るために多くのコードレビューがありますか? このサブセットは次のようになります。 短いタグを使用し<?、<?=かつ?> 副作用のない単純な式のみを使用し、特に変数を割り当てない のみを使用しif、foreachし、includeステートメントの 制御構造に代替構文のみを使用する タグ内のステートメントはそれぞれ1つだけにしてください これは、終端のセミコロン、つまりfor <? endforeach ?>と<? endif ?>を省略しているコンテキスト<? include("list-contents.php") ?>です。 ただし、終端のセミコロンを省略することは悪い習慣であることをよく読みます。どうして?それは悪い習慣ですか? PHPが終端のセミコロンを省略できることで嬉しいです。これにより、テンプレートファイルの視覚的な混乱が最小限に抑えられます。あちこちに小さなPHPフラグメントのみが含まれたHTMLファイルのように見えるはずです。上記の例は私が努力しているものです。 これについてあなたはどう思いますか?あなたがそれに反対しているなら:なぜ?あなたがそれを支持するならば:なぜそれは良い考えでしょうか?セミコロンを省略することに対していくつかのテキストを彼が私に紹介している場合、パートナーに何を伝えればよいですか? 事実、参考資料、またはあなた自身の経験であなたの意見をバックアップしてください。
8 php  syntax 

9
Python、PHP、JavaScriptのエキスパートになる方法は?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 だから私は今から約9か月間プログラミングをしていて、Python、PHP、Javascriptを独学で学びました。 これらの言語でもっと上達したいのですが、何かをハックすることはできますが、OOPや、最も効果的な方法でリストを使用するなど、私には多くのものが失われています。 「エキスパート」プログラマになるための最良の方法は何ですか?それは言語のニュアンスに依存していますか、それともより一般的ですか?一緒に勉強すべき数学はありますか?明らかに、それをどのように処理したいかに大きく依存します。これまでのところ、主に小規模な内部アプリケーションとWebプログラミングを行ってきました。優れたプログラム設計を知るにはどうすればよいですか?

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