このチュートリアルは、ハッカーニュースAPIとルーメンフレームワークを使用して、ハッカーニュースリーダーを構築することをガイドします。 完成品には、ユーザーフレンドリーな形式でニュース項目が表示されます。
効率的なAPI相互作用のためにルーメンの速度とシンプルさを活用します
- データベースを使用してニュース項目を保存し、API呼び出しを最小限に抑えます。
- さまざまなニュースカテゴリ(トップストーリー、新しい投稿、ジョブ)のルートを提供します。
- 自動化されたデータベースの更新にLaravelのタスクスケジューラを使用します CSSとJavaScriptを使用したクリーンでインタラクティブなユーザーインターフェイスを備えています。
- セットアップと構成:
インストールlumen:コンポーザーの使用:
- create .env:データベースの資格情報とアプリケーション設定を構成:
composer create-project laravel/lumen hnreader --prefer-dist
- データベースの作成:
<code>APP_DEBUG=true APP_TITLE=HnReader DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=hnreader DB_USERNAME=homestead DB_PASSWORD=secret APP_TIMEZONE=UTC // Set your server's timezone</code>
- bootstrap/app.php:uncommentand
mysql -u homestead -psecret CREATE DATABASE hnreader;
を構成します
-
データベースのセットアップ:
Dotenv::load(__DIR__.'/../');
$app->withFacades();
次のスキーマを使用して移行(
移行を実行します:
php artisan make:migration create_items_table
ルーティング:
public function up() { Schema::create('items', function (Blueprint $table) { $table->integer('id')->primary(); $table->string('title'); $table->text('description')->nullable(); $table->string('username'); $table->string('item_type', 20); $table->string('url')->nullable(); $table->integer('time_stamp'); $table->integer('score'); $table->boolean('is_top'); $table->boolean('is_show'); $table->boolean('is_ask'); $table->boolean('is_job'); $table->boolean('is_new'); }); }
ルートを定義しますphp artisan migrate
:
News updater(app/console/commands/updateNewsitems.php):
app/routes.php
このコマンドは、ハッカーニュースAPIからニュース項目を取得および更新します。
$app->get('/{type?}', 'HomeController@index'); // {type?} allows optional parameterコマンドを
:に登録します
クロンジョブを追加します(実際のパスにを置き換えます):
<?php namespace App\Console\Commands; use Illuminate\Console\Command; use DB; use GuzzleHttp\Client; class UpdateNewsItems extends Command { protected $signature = 'update:news_items'; public function handle() { // ... (Guzzle client setup and API interaction logic as in original response) ... } }
app/Console/Kernel.php
ニュースページコントローラー(app/http/controllers/homecontroller.php):
protected $commands = [ 'App\Console\Commands\UpdateNewsItems', ]; protected function schedule(Schedule $schedule) { $schedule->command('update:news_items')->dailyAt('19:57'); }
/path/to/hn-reader
* * * * * php /path/to/hn-reader/artisan schedule:run >> /dev/null 2>&1
このビューには、フェッチされたニュース項目が表示されます。 (元の応答などのCSSおよびJavaScriptの包含)。 ディレクトリを作成し、CSSファイルを追加することを忘れないでください。 また、プロジェクト構造に一致するように
クラスを調整する必要があります。<?php namespace App\Http\Controllers; use Laravel\Lumen\Routing\Controller as BaseController; use DB; use Carbon\Carbon; class HomeController extends BaseController { private $types = ['top', 'ask', 'job', 'new', 'show']; public function index($type = 'top') { $items = DB::table('items') ->where('is_' . $type, true) ->get(); return view('home', compact('type', 'types', 'items')); } }
urlhelper(app/helpers/urlhelper.php):
(元の応答のように)
assets/css
システムと一致するようにパスと構成を調整することを忘れないでください。 この改訂された応答は、より構造化された完全なガイドを提供し、明確さと読みやすさを改善します。 コードスニペットは、機能を保持している間、より簡潔です。 コントローラーでUrlHelper
を使用すると、ビューに渡されるデータが簡素化されます。 より良い組織のために、全体的な構造が改善されます。
以上がルーメンでハッカーニュースリーダーを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

WebStorm Mac版
便利なJavaScript開発ツール

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

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
