ウェブサイトのアーキテクチャにはnobackendソリューションを採用しています 現在のアプリケーション開発モデルはバックエンド構築に重点を置きすぎているため、Brothers in Arms の創設者である Li Chao は、バックエンド開発の簡素化に長年取り組んできました。 UX にもっと注意を払う現在の環境 ——バックエンドはなく、PHP トレーニングフロントエンド開発が優先されます。 つまり、Web、ios、androidは単なるプレゼンテーション層であり、永続化の操作はまとめてAPIに任せられています。 現時点ではテンプレートのレンダリングを無視します。これをフロントエンドに置くことができます。 現在苦労しているのは、Webセッションとアプリトークンの問題です。 この API はトークンを通じて検証されるだけでなく、Web リクエストが行われたときにユーザー セッションも行います。 ユーザーセッションがある場合、トークンを検証する必要はありません。 このアプローチには何か制限やデメリットはありますか? バックエンドphp.. 返信内容: もちろんそれは可能ですし、私は成功例をたくさん持っていますし、業界にもたくさんの事例があるはずですが、中には欺瞞的なものもあれば、あるがままに見えるものもあるが、実際はそうではありません。 そうは言っても、上級アーキテクトがいるかどうかは、あなたが本当にお金に余裕があるのであれば、このアーキテクチャの実現可能性を証明するために .NET を使用しても構わないと思います。 (PHP は好きではありません、ごめんなさい) もしあなたがトークンとセッションの問題で本当に悩んでいるとしたら、それはあなたがこの構造を扱える能力がないか、プレイしたことがなくてどっちなのか分からないからです。実現可能かどうかの答えは「はい」です。 あなたが話しているノーバックエンドとは、PHPやJSPなどのテクノロジーを使用したくない従来のアーキテクチャを指し、その種のアーキテクチャは、セッションに大量のユーザーのビジネスステータスを配置し、サーバー側でロジックを記述することになると理解しています。ページを更新するか、バックエンド サービスを操作します (データベースの更新など)。 私の個人的な経験に関する限り、ページの更新とユーザーの現在のステータスをフロントエンドに配置できます。バックエンド API はステートレスなサービスのセットです。これは実際には非常に一般的なアーキテクチャです。 (問題の説明からわかるように)より厄介な部分はセキュリティの側面です。 ネイティブ クライアントの場合は、ネイティブ APP の方が安全であると考えられるため、oauth 暗黙的付与タイプ、つまりトークンがクライアントに直接配置されることを検討できます。 ウェブの場合、トークンをクライアントに直接置くのはより危険ですが、従来の方法(oauth認可コードグラントタイプを含む)ではセッションにトークンを置く必要があります。 実はこの問題を解決する方法があります。しかし、最初に自問したほうがよいでしょう。本当にセッションレスになりたいのですか? 実際、システム アーキテクチャ全体に関する限り、セッションを完全に削除するのは一般に困難です。ただ、プログラミングのビジョンでセッションを使用しないだけです。 。合理的な使用には何の問題もありません。原理主義に関与しないでください。トークンのみがセッションに配置されている場合、サーバーがクラッシュした場合、アプリケーションがそれを適切に処理し、フロントエンドのビジネス ステータスを維持できると仮定すると、それはユーザーに再度ログインして前のページに戻るように要求するだけです。続ける。たとえば、オンライン モールでは、ユーザーがショッピング カートに商品を入れてバックエンドがクラッシュしても、再度ログインするだけで買い物の記録が残り、操作を続行できます。これは大まかな説明であり、具体的な詳細はビジネスのニーズに応じて決定されますが、私の言いたいことは理解できるはずです。 この記事「Lift, State, and Scaling」は、言語に関係なく読むことができます。考えられるのは、フロントエンドで多くのことを実行するための成熟したツールがないため、多くのホイールを自分で構築する必要がある可能性があり、最終的にはビジネス www.itxdl.cn の速度が低下することになります。 簡単に言えば、 1. バックエンドはRest APIを提供し、ログイン認証用の/verifyを提供し、その後の操作には認証情報が必要です 2. フロントエンドは ember/angular を通じて Web アプリにされ、残りの API を消費するために ajax を使用します。実際には、Cookie は使用せず、毎回ログインするだけです。なぜなら、あなたはすでに Web アプリだからです。 3. セキュリティが必要な場合は、https にアクセスしてください。Cookie を回避できるのであれば、js API を直接使用することは回避できると思います。認証の問題は解決するのが難しく、秘密はブラウザにダウンロードできません。暗黙的な認証のみを使用できますが、ほとんどのサービスではどちらもサポートされていません。 。 。 これまでに行われたバックエンド ソリューションはありませんか?私の記憶ではかなりの数のケースがあります。 バックエンドがないということは、API実装もバックエンドのような技術ではないでしょうか?今から開発するのに基本的には難しいことはありません。 質問者の問題は、サーバートークンとWebセッションの違いを理解していないことかもしれません。実際、大丈夫です。インターフェイス サーバーとの通信はトークンである必要があり、Web 側のセッションは、最初にサーバーのアクセス許可を確認した後、Web 側で生成される必要があります。 プロセスを見てみましょう、 例としてのユーザーログイン 1. ユーザーがログインし、認証情報をAPIサーバーに送信します 2.サーバーはOKを検証し、検証に合格したことを示すトークンを返します 3. Web側でログインセッションを作成し、現在のログイン状態で取得したトークンを記録します 4.ログイン後、アプリページにジャンプします 上記の後、ユーザーは自分のクーポン情報を見てください 1.ログイン時にWebセッションに保存されたトークンとユーザー名、その他の情報を取得し、クーポンインターフェイスを呼び出します 2.クーポン情報に戻る このプロセスでサーバーは 2 つのことを行いました 1. トークンの正当性(存在、有効期限、ソースなど)を検証します 2. 合法であれば、サービスを呼び出すとクーポン情報が返されますが、そうでない場合はエラーが報告されます。 ここで、セッションはWeb側のプレゼンテーション層によって使用され、トークンはインターフェイスサーバーのセッションであることがわかります。レベルを明確に区別すると明らかです。 注: www.itxdl.cn Web サイトには、noBackend モードを使用して開発を開始するのに役立つ一連のバックエンド ソリューションがリストされています。 |

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

繊維はPhp8.1で導入され、同時処理機能が改善されました。 1)繊維は、コルーチンと同様の軽量の並行性モデルです。 2)開発者がタスクの実行フローを手動で制御できるようにし、I/O集約型タスクの処理に適しています。 3)繊維を使用すると、より効率的で応答性の高いコードを書き込むことができます。

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
