


Menggunakan Google Analytics API V3 dengan PHP: Mengambil Data
Takeaways Key
- Gunakan Google Analytics API V3 dengan PHP untuk mengambil dan menguruskan data akaun pengguna dengan berkesan, termasuk sifat dan pandangan.
- Melaksanakan API Pengurusan untuk mendapatkan senarai akaun, sifat, dan pandangan, mengendalikan data sebagai tatasusunan atau objek berdasarkan tetapan inisialisasi dalam ga_service.php.
- Leverage API metadata untuk mengakses dan metadata analisis cache menggunakan Google_CURLIO dan Google_HTTPREQUEST, mengoptimumkan pengambilan data dengan atribut ETAG.
- Memperluaskan fungsi dengan menggabungkan pilihan penyortiran, penapisan, dan segmentasi dalam pertanyaan API, meningkatkan penyesuaian data dan kaitan.
- Mengendalikan pengesahan, respons ralat, dan penguraian data JSON dalam PHP untuk memastikan interaksi yang selamat dan cekap dengan API Google Analytics.
Pengurusan API
Seperti yang dibincangkan di bahagian pertama, API Pengurusan bertanggungjawab untuk mendapatkan akaun pengguna, sifat, pandangan ... untuk contoh pertama kami, kami akan mengambil senarai akaun yang tersedia untuk pengguna yang disahkan kami.
Di dalam GA_SERVICE :: Akaun Kami membuat Google_ANALYTICSSERVICE baru dengan pelanggan yang diberi kuasa dan kemudian menanyakan API untuk senarai akaun.
<span>// app/src/GA_Service.php </span><span>public function accounts(){ </span> <span>if( !$this->isLoggedIn() ){ </span> <span>//login </span> <span>} </span> <span>$service = new Google_AnalyticsService($this->client); </span> <span>$man_accounts = $service->management_accounts->listManagementAccounts(); </span> <span>$accounts = []; </span> <span>foreach ($man_accounts['items'] as $account) { </span> <span>$accounts[] = [ 'id' => $account['id'], 'name' => $account['name'] ]; </span> <span>} </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/controllers/HomeController.php </span><span>public function accounts(){ </span> <span>$accounts = $this->ga->accounts(); </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/routes.php </span><span>Route<span>::</span>get('/accounts', 'HomeController@accounts');</span>
Dalam kes ini hasilnya adalah array, tetapi API juga menggunakan objek, kita hanya perlu menentukan bahawa di dalam fungsi GA_Service :: init kami. Dalam contoh berikut, saya akan menggunakan hasil array.
fungsi ListManagementCounts mengembalikan array yang mengandungi:
<span>$this->client->setUseObjects(true);</span>
Perhatikan bahawa apabila anda mengembalikan array sebagai respons, Laravel secara automatik mengkodekan hasilnya sebagai respons JSON dan menghantarnya ke penyemak imbas.
<span>{ </span> kind<span>: "analytics#accounts", </span> <span>username: "me@mail.com", </span> <span>totalResults: 3, </span> <span>startIndex: 1, </span> <span>itemsPerPage: 1000, </span> <span>items: [ </span> <span>{ </span> id<span>: "4449308", </span> <span>kind: "analytics#account", </span> <span>selfLink: "https://www.googleapis.com/analytics/v3/management/accounts/4449308", </span> <span>name: "me@mail.com", </span> <span>permissions: { </span> effective<span>: [ </span> <span>"COLLABORATE", </span> <span>"EDIT", </span> <span>"MANAGE_USERS", </span> <span>"READ_AND_ANALYZE" </span> <span>] </span> <span>}, </span> <span>created: "2013-10-01T11:04:28.478Z", </span> <span>updated: "2013-10-01T11:04:28.478Z", </span> <span>childLink: { </span> type<span>: "analytics#webproperties", </span> <span>href: "https://www.googleapis.com/analytics/v3/management/accounts/4449308/webproperties" </span> <span>} </span> <span>} </span> <span>] </span><span>}</span>
Hasilnya mengandungi maklumat mengenai jumlah hasil dan beberapa maklumat penomboran juga. Lajur Item mengandungi senarai akaun dengan ID mereka, keizinan, dan lain -lain, tetapi kami melingkari item untuk mengekstrak hanya ID dan nama dari akaun.
Jika anda ingin menghasilkan penomboran, anda sentiasa boleh lulus lebih banyak pilihan untuk ListManagementAccount:
Mari kita anggap bahawa kita akan menunjukkan pengguna senarai akaun mereka, dan apabila mereka memilih satu, kita memuatkan senarai sifat yang berkaitan dengannya.
<span>$service->management_accounts->listManagementAccounts( [ 'max-results' => $max_results, 'start-index' => $start_index ] );</span>
GA_SERVICE :: Properties menerima ID akaun, dan mengembalikan senarai sifat untuk akaun itu. Pada dasarnya kita mempunyai proses yang sama, seperti mengambil akaun.
<span>// app/src/GA_Service.php </span><span>public function properties( $account_id ){ </span> <span>if( !$this->isLoggedIn() ){ </span> <span>//login </span> <span>} </span> <span>try { </span> <span>$service = new Google_AnalyticsService($this->client); </span> <span>$man_properties = $service->management_webproperties->listManagementWebproperties($account_id); </span> <span>$properties = []; </span> <span>foreach ($man_properties['items'] as $property) { </span> <span>$properties[] = [ 'id' => $property['id'], 'name' => $property['name'] ]; </span> <span>}//foreach </span> <span>return json_encode($properties); </span> <span>} catch (Google_ServiceException $e) { </span> <span>return Response<span>::</span>json([ </span> <span>'status' => 0, </span> <span>'code' => 3, </span> <span>'message' => $e->getMessage() </span> <span>]); </span> <span>}//catch </span> <span>}//properties </span> <span>// app/controllers/HomeController.php </span><span>public function properties( $account_id ){ </span> <span>$properties = $this->ga->properties( $account_id ); </span> <span>return $properties; </span><span>}//properties </span> <span>// app/routes.php </span><span>Route<span>::</span>get( '/properties/{account_id}', [ 'uses' => 'HomeController@properties' ] )->where('account_id', '\d+');</span>
Setiap harta mempunyai subset pandangan. Secara lalai, Google menambah paparan yang dipanggil semua data laman web untuk setiap harta baru.
[ { id: "UA-52317977-1", name: "Prop1" }, { id: "UA-52317977-2", name: "Prop1" } ]
Menggunakan ID dari senarai sifat dan ID akaun yang diambil dari bahagian pertama, kami akan menanyakan API Google Analytics untuk senarai paparan yang tersedia untuk harta akaun yang diberikan.
<span>// app/src/GA_Service.php </span><span>public function accounts(){ </span> <span>if( !$this->isLoggedIn() ){ </span> <span>//login </span> <span>} </span> <span>$service = new Google_AnalyticsService($this->client); </span> <span>$man_accounts = $service->management_accounts->listManagementAccounts(); </span> <span>$accounts = []; </span> <span>foreach ($man_accounts['items'] as $account) { </span> <span>$accounts[] = [ 'id' => $account['id'], 'name' => $account['name'] ]; </span> <span>} </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/controllers/HomeController.php </span><span>public function accounts(){ </span> <span>$accounts = $this->ga->accounts(); </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/routes.php </span><span>Route<span>::</span>get('/accounts', 'HomeController@accounts');</span>
Dalam penyemak imbas, ketika memukul/melihat/{account_id}/{property_id}, kita harus mendapatkan sesuatu yang serupa dengan:
<span>$this->client->setUseObjects(true);</span>
Metadata API
Untuk menanyakan beberapa statistik dari Google Analytics kita perlu menyediakan satu set dimensi dan metrik.
- Metrik: Metrik adalah pengukuran individu aktiviti pengguna pada harta anda, seperti sesi dan paparan halaman ..
- Dimensi: Dimensi memecahkan metrik merentasi beberapa kriteria biasa, seperti negara atau penyemak imbas.
Untuk merebut senarai metadata yang tersedia, anda hanya boleh menggunakan curl untuk menanyakan data dari url berikut https://www.googleapis.com/analytics/v3/metadata/ga/columns.
Google Analytics memberi kita atribut ETAG yang boleh digunakan untuk caching respons supaya kita tidak perlu menanyakan API pada setiap permintaan.
<span>{ </span> kind<span>: "analytics#accounts", </span> <span>username: "me@mail.com", </span> <span>totalResults: 3, </span> <span>startIndex: 1, </span> <span>itemsPerPage: 1000, </span> <span>items: [ </span> <span>{ </span> id<span>: "4449308", </span> <span>kind: "analytics#account", </span> <span>selfLink: "https://www.googleapis.com/analytics/v3/management/accounts/4449308", </span> <span>name: "me@mail.com", </span> <span>permissions: { </span> effective<span>: [ </span> <span>"COLLABORATE", </span> <span>"EDIT", </span> <span>"MANAGE_USERS", </span> <span>"READ_AND_ANALYZE" </span> <span>] </span> <span>}, </span> <span>created: "2013-10-01T11:04:28.478Z", </span> <span>updated: "2013-10-01T11:04:28.478Z", </span> <span>childLink: { </span> type<span>: "analytics#webproperties", </span> <span>href: "https://www.googleapis.com/analytics/v3/management/accounts/4449308/webproperties" </span> <span>} </span> <span>} </span> <span>] </span><span>}</span>
- Google_CURLIO: Kelas yang dibalut dengan beberapa curlutilities untuk berurusan dengan caching, pengesahan, dan lain -lain - dengan menggunakan kelas ini, kami memastikan respons di cache menggunakan etagattribute.
- Google_HTTPREQUEST: adalah kelas yang mewakili satu permintaan HTTP tunggal.
Kaedah MakeRequest mengembalikan contoh Google_HTTPREQUEST, dan kami boleh menggunakan getResponseBody untuk mendapatkan respons metadata kami.
<span>$service->management_accounts->listManagementAccounts( [ 'max-results' => $max_results, 'start-index' => $start_index ] );</span>
Sekarang, apabila mengakses laluan /metadata di penyemak imbas anda, anda harus mendapatkan pelbagai dimensi dan satu lagi untuk metrik, dan masing -masing mengandungi senarai elemen berkumpulan.
<span>// app/src/GA_Service.php </span><span>public function properties( $account_id ){ </span> <span>if( !$this->isLoggedIn() ){ </span> <span>//login </span> <span>} </span> <span>try { </span> <span>$service = new Google_AnalyticsService($this->client); </span> <span>$man_properties = $service->management_webproperties->listManagementWebproperties($account_id); </span> <span>$properties = []; </span> <span>foreach ($man_properties['items'] as $property) { </span> <span>$properties[] = [ 'id' => $property['id'], 'name' => $property['name'] ]; </span> <span>}//foreach </span> <span>return json_encode($properties); </span> <span>} catch (Google_ServiceException $e) { </span> <span>return Response<span>::</span>json([ </span> <span>'status' => 0, </span> <span>'code' => 3, </span> <span>'message' => $e->getMessage() </span> <span>]); </span> <span>}//catch </span> <span>}//properties </span> <span>// app/controllers/HomeController.php </span><span>public function properties( $account_id ){ </span> <span>$properties = $this->ga->properties( $account_id ); </span> <span>return $properties; </span><span>}//properties </span> <span>// app/routes.php </span><span>Route<span>::</span>get( '/properties/{account_id}', [ 'uses' => 'HomeController@properties' ] )->where('account_id', '\d+');</span>
kita perlu mengemas kini indeks homecontroller@kami untuk menunjukkan paparan halaman rumah.
seperti yang anda lihat dari tangkapan skrin, apabila pengguna memilih akaun kami secara tidak segerak menukar harta dan pandangan dengan sewajarnya. Untuk mencapai itu, saya menulis beberapa JS mudah yang boleh anda periksa di repo akhir.
[ { id: "UA-52317977-1", name: "Prop1" }, { id: "UA-52317977-2", name: "Prop1" } ]
Pelaporan API
dengan menyediakan pandangan, metrik dan dimensi yang dipilih, kita boleh mendapatkan statistik terperinci mengenai pengguna dan interaksi. Hasilnya selepas penyerahan pengguna akan menjadi sesuatu yang serupa dengan:
GA_SERVICE kami :: Laporan Menerima Empat Argumen: ID Lihat, Tarikh Permulaan dan Akhir dan pelbagai metrik.
<span>// app/src/GA_Service.php </span><span>public function views( $account_id, $property_id ){ </span> <span>if( !$this->isLoggedIn() ){ </span> <span>//login </span> <span>} </span> <span>try { </span> <span>$service = new Google_AnalyticsService($this->client); </span> <span>$man_views = $service->management_profiles->listManagementProfiles( $account_id, $property_id ); </span> <span>$views = []; </span> <span>foreach ($man_views['items'] as $view) { </span> <span>$views[] = [ 'id' => $view['id'], 'name' => $view['name'] ]; </span> <span>}//foreach </span> <span>return json_encode($views); </span> <span>} catch (Google_ServiceException $e) { </span> <span>return Response<span>::</span>json([ </span> <span>'status' => 0, </span> <span>'code' => 3, </span> <span>'message' => $e->getMessage() </span> <span>]); </span> <span>}//catch </span><span>}//views </span> <span>// app/controllers/HomeController.php </span><span>public function views( $account_id, $property_id ){ </span> <span>$views = $this->ga->views( $account_id ,$property_id ); </span> <span>return $views; </span><span>}//properties </span> <span>// app/routes.php </span><span>Route<span>::</span>get( '/views/{account_id}/{property_id}', [ 'uses' => 'HomeController@views' ] )->where([ 'account_id', '\d+', 'property_id', '\d+' ]);</span>
Google tidak dapat mengembalikan semua data warisan anda - sebaliknya kami menyediakan tarikh permulaan dan tamat. Dalam contoh saya, saya menanyakan hasil bulan lalu.
Parameter ketiga adalah senarai metrik yang kita ada dari pemilihan pengguna.
Parameter pilihan keempat adalah pelbagai pilihan.
-Max-Results: Bilangan maksimum hasil. (Kami menggunakan 10 untuk mempercepatkan respons).
- Dimensi: Senarai nilai yang dipisahkan koma. (GA: Negara, GA: City)
- Penapis: Senarai peraturan koma yang dipisahkan untuk diperolehi dengan hasilnya. (GA: Negara! = Amerika Syarikat, GA: PAGEVIEWS> 100)
Dalam contoh ini, kami mengecualikan Amerika Syarikat dari senarai dimensi dan hanya menunjukkan paparan halaman yang lebih besar daripada 100.
- Segmen: ID Segmen Lanjutan yang akan digunakan untuk data.
- Sort: Pesanan keputusan mengikut dimensi atau metrik. Boleh menggabungkan pelbagai dimensi dan metrik. (GA: Negara, -GA: PAGEVIEWS = Pesanan oleh GA: Negara Ascending, dan oleh GA: PAGEVIEWS DESCENDING.
-Mula-indeks: boleh digunakan untuk penomboran.
<span>// app/src/GA_Service.php </span><span>public function accounts(){ </span> <span>if( !$this->isLoggedIn() ){ </span> <span>//login </span> <span>} </span> <span>$service = new Google_AnalyticsService($this->client); </span> <span>$man_accounts = $service->management_accounts->listManagementAccounts(); </span> <span>$accounts = []; </span> <span>foreach ($man_accounts['items'] as $account) { </span> <span>$accounts[] = [ 'id' => $account['id'], 'name' => $account['name'] ]; </span> <span>} </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/controllers/HomeController.php </span><span>public function accounts(){ </span> <span>$accounts = $this->ga->accounts(); </span> <span>return $accounts; </span><span>}//accounts </span> <span>// app/routes.php </span><span>Route<span>::</span>get('/accounts', 'HomeController@accounts');</span>
Setelah memanggil Google_analyticsService :: GET Kaedah, kami menggunakan senarai item hasil, tajuk lajur, dan jumlah hasil untuk mengeluarkan hasilnya sebagai jadual.
Sekarang mari kita lihat bagaimana kita dapat melanjutkan demo kita dengan penapis, penyortiran dan segmen.
penapis
Penapis adalah cara untuk mengecualikan beberapa data dari hasil yang dikembalikan. Mereka mengambil borang berikut:
<span>$this->client->setUseObjects(true);</span>
- GA: Lajur: Dimensi atau ID Metrik (Ex: GA: Country)
- operator: Operator bergantung kepada pilihan ID lajur metrik atau dimensi, periksa dokumen untuk senarai pengendali.
- Nilai: Nilai boleh menjadi nombor, rentetan, atau regex.
Segmen
Secara lalai Google Analytics Group semua data anda dalam satu kumpulan yang dipanggil semua sesi. Walau bagaimanapun, anda sentiasa boleh memilih dari segmen yang dibina atau membuat yang baru bergantung kepada keperluan anda. Anda boleh mengumpulkan data dengan rujukan, jenis peranti, umur, jantina, dan lain -lain
Anda boleh melanjutkan demo dengan menambahkan elemen pilih baru dengan senarai segmen yang tersedia, dan lulus ID ke kaedah GET seperti yang dibincangkan sebelumnya.
<span>{ </span> kind<span>: "analytics#accounts", </span> <span>username: "me@mail.com", </span> <span>totalResults: 3, </span> <span>startIndex: 1, </span> <span>itemsPerPage: 1000, </span> <span>items: [ </span> <span>{ </span> id<span>: "4449308", </span> <span>kind: "analytics#account", </span> <span>selfLink: "https://www.googleapis.com/analytics/v3/management/accounts/4449308", </span> <span>name: "me@mail.com", </span> <span>permissions: { </span> effective<span>: [ </span> <span>"COLLABORATE", </span> <span>"EDIT", </span> <span>"MANAGE_USERS", </span> <span>"READ_AND_ANALYZE" </span> <span>] </span> <span>}, </span> <span>created: "2013-10-01T11:04:28.478Z", </span> <span>updated: "2013-10-01T11:04:28.478Z", </span> <span>childLink: { </span> type<span>: "analytics#webproperties", </span> <span>href: "https://www.googleapis.com/analytics/v3/management/accounts/4449308/webproperties" </span> <span>} </span> <span>} </span> <span>] </span><span>}</span>
membungkus
API Google Analytics sangat fleksibel dan menyediakan banyak ciri, tetapi dokumentasi belum lengkap, dan tidak memberikan contoh penggunaan yang baik. Anda mendapat lebih banyak lagi dengan menggali kod sumber dan menguji kemungkinan dan had.
Dalam siri ini, kami memberi tumpuan kepada penggunaan asas Google Analytics, tetapi anda boleh melanjutkan demo dengan pilihan dari Dashboard Google Analytics.
anda boleh menyemak repo akhir untuk kod sumber tutorial ini.
soalan? Komen? Izinkan saya tahu!
Soalan Lazim (Soalan Lazim) Mengenai Menggunakan Google Analytics API V3 dengan PHP
Bagaimana saya boleh memulakan dengan Google Analytics API V3 dengan PHP? Selepas membuat projek, aktifkan API Google Analytics untuknya. Kemudian, buat kelayakan untuk API. Anda akan menerima ID pelanggan dan rahsia pelanggan, yang akan anda gunakan untuk mengesahkan aplikasi anda dengan Google. Selepas itu, anda boleh mula membuat permintaan ke API menggunakan php. Anda perlu mempunyai akaun Google dan akses ke data Google Analytics yang ingin anda ambil. Anda juga perlu memasang PHP pada pelayan anda dan pemahaman asas mengenai pengaturcaraan PHP. Anda perlu menggunakan ID pelanggan dan rahsia pelanggan yang anda terima apabila anda membuat kelayakan API anda. Anda boleh menggunakan kelayakan ini untuk mendapatkan token akses, yang kemudiannya boleh digunakan untuk mengesahkan permintaan API anda. Analisis menggunakan PHP, anda perlu membuat permintaan GET ke API Google Analytics. Anda boleh menentukan metrik, dimensi, dan penapis yang anda mahu memohon dalam parameter permintaan. API akan mengembalikan data yang diminta dalam format JSON, yang kemudian anda boleh menghuraikan dan menggunakan dalam aplikasi anda. Google Analytics API V3 Dengan PHP, kesilapan boleh berlaku untuk pelbagai sebab, seperti parameter permintaan tidak sah atau isu pengesahan. Anda boleh mengendalikan kesilapan ini dengan menyemak kod status HTTP dan mesej ralat yang dikembalikan oleh API. Ini akan memberi anda maklumat mengenai apa yang salah dan bagaimana untuk memperbaikinya.
Bolehkah saya menggunakan Google Analytics API V3 dengan PHP untuk mengesan data masa nyata? API V3 dengan PHP untuk mengesan data masa nyata. API menyediakan API pelaporan masa sebenar yang boleh anda gunakan untuk mendapatkan data masa nyata seperti bilangan pengguna aktif di laman web anda. 🎜> Anda boleh menapis data apabila menggunakan Google Analytics API V3 dengan PHP dengan menentukan parameter penapis dalam permintaan API anda. Parameter ini membolehkan anda menyekat data yang dikembalikan oleh API untuk memenuhi kriteria tertentu. Boleh menggunakan Google Analytics API V3 dengan PHP untuk mendapatkan data dari pelbagai akaun Google Analytics. Anda hanya perlu mengesahkan dengan setiap akaun secara berasingan dan membuat permintaan API berasingan untuk setiap akaun.
bagaimana saya dapat menafikan hasil apabila menggunakan Google Analytics API V3 dengan PHP? dalam permintaan API anda. Parameter ini membolehkan anda menentukan julat hasil yang anda ingin dapatkan. V3 dengan PHP dengan menentukan parameter jenis dalam permintaan API anda. Parameter ini membolehkan anda memerintahkan data yang dikembalikan oleh API berdasarkan metrik atau dimensi tertentu.
Atas ialah kandungan terperinci Menggunakan Google Analytics API V3 dengan PHP: Mengambil Data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Alipay Php ...

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimana cara debug mod CLI dalam phpstorm? Semasa membangun dengan PHPStorm, kadang -kadang kita perlu debug PHP dalam mod Interface Line Command (CLI) ...

Bagaimana untuk menetapkan keizinan UnixSocket secara automatik selepas sistem dimulakan semula. Setiap kali sistem dimulakan semula, kita perlu melaksanakan perintah berikut untuk mengubahsuai keizinan UnixSocket: sudo ...

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.
