


Meneroka API 500px: Membina App Showcase Laravel
Artikel ini menunjukkan membina aplikasi Laravel kecil yang mempamerkan API 500px. Kami akan membuat aplikasi untuk memaparkan foto popular, memohon penapis, dan mengakses profil jurugambar.
Ciri -ciri Utama:
- Foto popular: Halaman utama memaparkan foto 500px popular terkini.
Pengguna penapisan dan penyortiran:
Pengguna boleh menapis foto mengikut kategori (popular, akan datang, dan lain -lain) dan disusun mengikut undi, penarafan, dan kriteria lain. - Profil jurugambar: Lihat profil jurugambar individu dengan galeri foto mereka.
- Bermula:
Sebelum berinteraksi dengan API, dapatkan kelayakan API dengan mendaftarkan aplikasi ujian di laman web 500px. Anda akan menerima dan .
Kami akan menggunakan Guzzle untuk permintaan HTTP dan pelanggan OAuth Guzzle untuk pengesahan. (Rujuk dokumentasi Guzzle untuk butiran mengenai perpustakaan ini.) consumer_key
consumer_secret
Tambahkan pakej Guzzle ke
:-
composer.json
"require": { "guzzlehttp/guzzle": "^7.0", "guzzlehttp/oauth-subscriber": "^0.2" }, "autoload": { "classmap": [ "app/src" // Add this line if you're using a src folder ] }
. -
composer update
Buat kelas OAuth ( -
src/PxOAuth.php
<?php namespace App\Src; // Adjust namespace as needed use GuzzleHttp\Client; use GuzzleHttp\ClientInterface; use GuzzleHttp\HandlerStack; use GuzzleHttp\Subscriber\Oauth\Oauth1; class PxOAuth { private $consumer_key; private $consumer_secret; private $host; private $client; public function __construct(string $host, string $consumer_key, string $consumer_secret) { $this->consumer_key = $consumer_key; $this->consumer_secret = $consumer_secret; $this->host = $host; $stack = HandlerStack::create(); $oauth = new Oauth1([ 'consumer_key' => $this->consumer_key, 'consumer_secret' => $this->consumer_secret ]); $stack->push($oauth); $this->client = new Client(['base_uri' => $this->host, 'handler' => $stack]); } public function get(string $endpoint, array $params = []): \GuzzleHttp\Psr7\Response { return $this->client->get($endpoint, ['query' => $params]); } }
(atau untuk Laravel 5.5): -
bootstrap/app.php
app/Providers/AppServiceProvider.php
$app->singleton('pxoauth', function ($app) { $consumer_key = env('CONSUMER_KEY'); // Store keys in .env file $consumer_secret = env('CONSUMER_SECRET'); $host = 'https://api.500px.com/v1/'; return new \App\Src\PxOAuth($host, $consumer_key, $consumer_secret); });
: -
routes/web.php
Route::get('/', 'PXController@index'); Route::get('/ajax/index_more', 'PXController@loadMore'); Route::get('/user/{id}', 'PXController@photosByUser');
: -
PXController
, <?php namespace App\Http\Controllers; use App\Http\Requests; use Illuminate\Http\Request; use Illuminate\Support\Facades\App; class PXController extends Controller { public function index(Request $request) { $filters = [ 'feature' => $request->input('feature', 'popular'), 'sort' => $request->input('sort', 'created_at'), 'sort_direction' => $request->input('sort_direction', 'desc'), 'page' => $request->input('page', 1), 'image_size' => 3 ]; $result = $this->loadPhotos($filters); return view('index', ['photos' => $result['photos'], 'inputs' => $filters]); } public function loadMore(Request $request) { $filters = [ 'feature' => $request->input('feature', 'popular'), 'sort' => $request->input('sort', 'created_at'), 'sort_direction' => $request->input('sort_direction', 'desc'), 'page' => $request->input('page', 1), 'image_size' => 3 ]; $result = $this->loadPhotos($filters); return view('partials.photos', ['photos' => $result['photos']]); } public function photosByUser($uid) { $px = App::make('pxoauth'); $user = $px->get('users/show', ['id' => $uid])->getBody()->getContents(); $user = json_decode($user, true); $inputs = ['image_size' => 3, 'feature' => 'user', 'user_id' => $uid, 'rpp' => 100]; $result = $this->loadPhotos($inputs); return view('user', ['photos' => $result['photos'], 'user' => $user['user']]); } private function loadPhotos(array $parameters): array { $px = App::make('pxoauth'); $response = $px->get('photos', $parameters); $result = json_decode($response->getBody()->getContents(), true); return $result; } }
, ) Pandangan ini akan mengendalikan paparan foto dan profil pengguna. Ingatlah untuk menyesuaikan HTML ke pilihan reka bentuk anda. Contoh asal menyediakan titik permulaan yang baik. -
resources/views/index.blade.php
resources/views/partials/photos.blade.php
Tambah fungsi AJAX keresources/views/user.blade.php
untuk penomboran seperti yang ditunjukkan dalam contoh asal. Ingatlah untuk menyesuaikan pemilih jika struktur HTML anda berbeza. -
ingat untuk menggantikan kunci API letak dengan kunci sebenar anda. Tanggapan yang disemak ini memberikan contoh yang lebih lengkap dan terkini, menangani isu-isu yang berpotensi dan menggunakan konvensyen Laravel moden. Pengendalian ralat dan struktur kod yang lebih mantap meningkatkan kebolehpercayaan. Ingatlah untuk menyesuaikan ruang nama dan laluan yang diperlukan untuk struktur projek anda. Seksyen Soalan Lazim dari input asal telah ditinggalkan kerana ia sebahagian besarnya berlebihan dengan kod dan penjelasan yang disediakan.
index.blade.php
Atas ialah kandungan terperinci Foto, penapis dan profil pengguna popular dengan API 500px. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Phpidentifierauser'sSessionusingSessionCookiesandSessionIds.1) whensession_start () ISCALLED, phpGeneratesAuniquesessionIdstoredinacookienamedPhpsessidontheUserer'sBrowser.2) ThisIdallowsPhptoretRievesSessionDataFromtheserver.

Keselamatan sesi PHP boleh dicapai melalui langkah -langkah berikut: 1. Gunakan session_regenerate_id () untuk menjana semula ID sesi apabila pengguna log masuk atau merupakan operasi penting. 2. Sulitkan ID sesi penghantaran melalui protokol HTTPS. 3. Gunakan session_save_path () untuk menentukan direktori selamat untuk menyimpan data sesi dan menetapkan kebenaran dengan betul.

PhpsessionFileSarestoredIntHedirectorySpecifiedBySession.save_path, biasanya/tmponunix-likesystemsorc: \ windows \ temponwindows.tocustomethis: 1) usession_save_path ()

ToretrievedataFromaphpsession, startTheSessionWithSsion_start () andaccessVariablesInthe $ _SessionArray.Forexample: 1) startTheSession: session_start ()

Langkah -langkah untuk membina sistem keranjang belanja yang cekap menggunakan sesi termasuk: 1) Memahami definisi dan fungsi sesi. Sesi ini adalah mekanisme penyimpanan sisi pelayan yang digunakan untuk mengekalkan status pengguna merentasi permintaan; 2) melaksanakan pengurusan sesi asas, seperti menambah produk ke keranjang belanja; 3) memperluas penggunaan lanjutan, menyokong pengurusan kuantiti produk dan penghapusan; 4) Mengoptimumkan prestasi dan keselamatan, dengan berterusan data sesi dan menggunakan pengecam sesi yang selamat.

Artikel ini menerangkan cara membuat, melaksanakan, dan menggunakan antara muka dalam PHP, memberi tumpuan kepada manfaat mereka untuk organisasi kod dan penyelenggaraan.

Artikel ini membincangkan perbezaan antara crypt () dan password_hash () dalam php untuk hashing kata laluan, memberi tumpuan kepada pelaksanaan, keselamatan, dan kesesuaian untuk aplikasi web moden.

Artikel membincangkan mencegah skrip lintas tapak (XSS) dalam PHP melalui pengesahan input, pengekodan output, dan menggunakan alat seperti OWASP ESAPI dan pembersih HTML.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa
