国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah pembangunan bahagian belakang tutorial php Rangka Kerja Lithium: Bermula

Rangka Kerja Lithium: Bermula

Feb 21, 2025 am 10:46 AM

Lithium Framework: Getting Started

Rangka Kerja Lithium: Titik Utama

    Lithium adalah kerangka PHP yang fleksibel yang sesuai untuk Php 5.3 dan ke atas, yang menggunakan seni bina model-view-controller (MVC) untuk pembangunan aplikasi web.
  • Pengawal mengendalikan permintaan yang diarahkan oleh sistem penghalaan aplikasi. Pandangan adalah lapisan persembahan yang memisahkan logik perniagaan dari persembahan dan membolehkan tematik kandungan yang mudah dipaparkan dalam penyemak imbas. Model ini mentakrifkan dan memproses kandungan dalam pangkalan data, membuat operasi CRUD (membuat, membaca, mengemas kini, memadam) mudah.
  • Lithium menyokong pelbagai pangkalan data, termasuk MySQL, MongoDB, dan CouchDB. Rangka kerja ini juga mempunyai sistem penghalaan yang kuat yang membolehkan penciptaan URL mesra enjin ringkas dan carian.
  • Konvensyen Lithium membuat permulaan mudah. Ia menyediakan kaedah CRUD terbina dalam, membolehkan penghalaan tersuai, menyokong pelbagai susun atur, dan juga menjadikan unsur-unsur yang lebih kecil dalam pandangan. Ciri -ciri ini menjadikan Lithium sebagai alat yang berkuasa untuk pembangunan aplikasi web.
Lithium adalah kerangka PHP yang mudah dan cekap yang sesuai untuk Php 5.3 dan ke atas. Ia direka untuk menyediakan satu set alat yang baik untuk melancarkan aplikasi web anda tanpa terlalu ketat.

Lithium menggunakan seni bina model-view-controller (MVC), yang akan dibincangkan dalam artikel ini. Saya akan menunjukkan kepada anda bagaimana ia berfungsi dan bagaimana untuk menentukan beberapa logik perniagaan dan perwakilan untuk aplikasi anda menggunakan rangka kerja ini. Kami akan melakukan langkah -langkah berikut:

kami akan menyediakan pengawal ke permintaan URL laluan. Pengawal ini akan menggunakan model data untuk mendapatkan dan memproses beberapa maklumat dari pangkalan data. Maklumat ini kemudiannya akan dipaparkan dalam penyemak imbas menggunakan paparan. Semua ini adalah proses MVC standard, tetapi ia adalah keseronokan untuk dilaksanakan dalam litium.

Saya menganggap anda mempunyai rangka kerja yang ditetapkan pada pelayan, sekurang -kurangnya anda dapat melihat halaman pelancaran aplikasi lalai apabila anda menavigasi ke URL. Di samping itu, anda memerlukan pangkalan data dengan beberapa maklumat. Saya akan menggunakan MySQL, tetapi Lithium menyokong banyak sistem storan lain seperti MongoDB atau CouchDB.

Jika anda ingin terus belajar, saya telah menyediakan repositori Git dan anda boleh mengkloninya. Cawangan induk mengandungi kerangka litium biasa, manakala cawangan MVC mengandungi kod untuk artikel ini. Jangan lupa untuk memulakan dan mengemas kini submodule lithium. Untuk menyambung ke pangkalan data anda, salin fail Connections_Default.php yang terletak di folder App/Config/Bootstrap dan namakan semula ke Connections.php. Kemudian tambahkan kelayakan anda ke fail.

mari kita mulakan.

data

Sebelum memasukkan kandungan MVC yang menarik, mari tambahkan jadual dalam pangkalan data dengan beberapa maklumat. Saya akan menggunakan data halaman maya, jadi jadual saya (halaman bernama) akan mengandungi lajur ID (int, auto-increment dan kunci utama), lajur tajuk (varchar 255), lajur kandungan (teks) dan lajur yang dibuat ( Int). Dalam jadual ini, saya mempunyai dua baris data sampel. Sekiranya anda ingin mengikuti langkah -langkah yang tepat, berikut adalah pernyataan penciptaan jadual:

CREATE TABLE `pages` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `content` text,
  `created` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

Berikut adalah baris data maya saya:

INSERT INTO `pages` (`id`, `title`, `content`, `created`)
VALUES
    (1, 'My awesome page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158745),
    (2, 'Some other page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158768);

Sudah tentu, anda boleh menggunakan data lain.

c bermaksud pengawal

Pengawal mungkin merupakan bahagian paling penting dari mana -mana rangka kerja MVC. Tujuan mereka adalah untuk mengendalikan permintaan yang diarahkan oleh sistem penghalaan aplikasi.

Jika anda melihat aplikasi/ pengawal/ folder aplikasinya, anda akan mendapati bahawa ini adalah di mana kita perlu meletakkan pengawal. Mari buat fail baru di sana yang dipanggil siteController.php (setiap kelas pengawal berada dalam failnya sendiri) dan tampal perisytiharan kelas berikut untuk memulakan:

<?php namespace app\controllers;

class SiteController extends \lithium\action\Controller {

}

Seperti yang anda lihat, kami melanjutkan kelas pengawal asas lithium ke kelas kami sendiri yang dipanggil SiteController. Dalam kelas ini, anda boleh membuat kaedah yang melaksanakan logik yang diperlukan apabila meminta dari URL. Kami akan melihat bagaimana ia sebenarnya berlaku kemudian, tetapi pertama, mari kita faham bagaimana routing berfungsi.

Secara lalai, apabila membina URL, kami menggunakan parameter yang memetakan ke nama kelas pengawal (dalam tapak kes ini), kaedah, dan parameter. Jika nama kaedah tidak diluluskan, litium akan menganggap kaedah yang dinamakan indeks () sendiri. Jadi jika anda menavigasi ke http://example.com/site/, litium akan mencari kaedah ini dan memanggilnya. Sekarang katakan kita mempunyai kaedah yang dipanggil View () yang mengambil parameter ($ id). URL yang memanggil kaedah pengawal adalah http://example.com/site/view/1, di mana pandangan adalah nama kaedah dan 1 adalah parameter yang diserahkan kepada fungsi. Jika kaedah mendapat lebih banyak parameter, anda hanya memisahkannya dengan slashes (/) dalam URL.

Walau bagaimanapun, seperti yang saya nyatakan, ini adalah tingkah laku lalai. Untuk kawalan lebih lanjut, anda boleh menentukan laluan anda sendiri di fail /p /config/routes.php. Saya tidak akan masuk ke dalam butiran, tetapi anda boleh mendapatkan lebih banyak maklumat di halaman dokumentasi yang sepadan.

Sekarang mari kita teruskan dan buat kaedah () kaedah yang akan bertanggungjawab untuk memaparkan halaman individu dari pangkalan data maya saya:

public function page() {

    // 模擬頁面信息。
    $title = 'My awesome page title';
    $content = 'My awesome page content. Yes indeed.';
    $created = '10 April 2014';

    // 準備頁面信息以傳遞給視圖。
    $data = array(
      'title' => $title,
      'content' => $content,
      'created' => $created,
    );

    // 將數(shù)據(jù)傳遞給視圖。
    $this->set($data);

}
di atas, kami mensimulasikan maklumat halaman pangkalan data dan simpan dalam array. Kami kemudian lulus array ini ke kaedah pengawal () pengawal (yang kami warisi) dan kemudian hantar ke pandangan. Sebagai alternatif, kita boleh mengembalikan array data $, bukannya menggunakan kaedah set (). Tetapi dalam kedua -dua kes, kunci array mewakili nama -nama berubah -ubah, yang kemudiannya dapat diakses dari fail paparan. Mari lihat bagaimana ia berfungsi.

(kandungan berikut adalah serupa dengan teks asal, tetapi pernyataan telah diselaraskan dan ditulis semula, mengekalkan niat asal, dan mengelakkan blok kod pendua)

V bermaksud Lihat

Lihat adalah lapisan persembahan rangka kerja MVC. Mereka digunakan untuk memisahkan logik perniagaan aplikasi dari perwakilan dan membolehkan tematik kandungan yang mudah dipaparkan dalam penyemak imbas.

Mari buat pandangan untuk memaparkan maklumat halaman kami. Dalam apl/ paparan/ folder, anda perlu membuat folder lain yang dinamakan selepas kelas pengawal yang menggunakannya (dalam tapak kes ini). Dalam folder ini, anda perlu membuat fail yang dinamakan selepas kaedah itu sendiri, dengan sambungan .html.php dilampirkan. Ini adalah pandangan lithium konvensyen, yang membolehkan kita dengan mudah menyambungkannya ke pengawal.

Jadi untuk contoh halaman kami, fail baru akan terletak di apl/paparan/tapak/page.html.php.

Dalam fail ini, tampal yang berikut:

CREATE TABLE `pages` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `content` text,
  `created` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

Seperti yang anda mungkin dapati, berikut adalah beberapa tag asas di mana kami akan mencetak pembolehubah yang dinamakan untuk lulus kekunci array dari pengawal. Lithium menggunakan sintaks ini untuk mencetak pembolehubah, kerana ia juga menjalankannya melalui fungsi $ H (), yang bertanggungjawab untuk membersihkan HTML. Tetapi ini hanya terpakai untuk mencetak pembolehubah, bukan sifat $ objek ini.

Untuk menguji apa yang telah kami lakukan setakat ini, navigasi ke http://example.com/site/page dan anda harus melihat halaman yang bagus yang menunjukkan maklumat simulasi. Anda juga akan melihat bahawa pandangan mudah kami diberikan dalam susun atur yang lebih kompleks (susun atur lalai yang disertakan dengan rangka kerja).

Layouts dalam litium digunakan untuk membungkus kandungan menggunakan tag yang biasa digunakan seperti tajuk dan footer. Mereka terletak di folder App/Layouts di mana mereka memberikan pandangan menggunakan $ this- & gt; kandungan (). Pandangan kami diberikan secara lalai dalam susun atur lalai.html.php, tetapi anda boleh menentukan susun atur lain yang anda mahukan. Anda boleh melakukan ini dari pengawal yang menjadikan pandangan, sama ada sebagai atribut kelas yang digunakan untuk semua kaedah pengawal itu, atau dalam kaedah itu sendiri, seperti:

INSERT INTO `pages` (`id`, `title`, `content`, `created`)
VALUES
    (1, 'My awesome page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158745),
    (2, 'Some other page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158768);

Kami akan berpegang pada susun atur lalai kerana ia kelihatan baik untuk tujuan demo kami.

M bermaksud Model

Sekarang bahawa logik permintaan dan perwakilan telah diproses, sudah tiba masanya untuk menggantikan data halaman simulasi dengan kandungan pangkalan data maya kami. Kami akan menggunakan model untuk abstrak dan mudah mengakses maklumat ini.

Kelas model adalah bahagian yang sangat penting dari rangka kerja MVC kerana mereka menentukan dan memproses kandungan dalam pangkalan data. Mereka juga membolehkan aplikasi dengan mudah melaksanakan operasi CRUD (membuat, membaca, mengemas kini, memadam) pada data ini. Mari lihat bagaimana mereka bekerja di litium.

Perkara pertama yang perlu anda lakukan ialah membuat fail kelas yang dipanggil Pages.php dalam folder App/Model dan tampal yang berikut:

<?php namespace app\controllers;

class SiteController extends \lithium\action\Controller {

}

kami hanya memperluaskan kelas model asas dan menggunakan semua kaedahnya. Nama kelas model kami mesti sepadan dengan jadual pangkalan data yang mengandungi rekod yang berkaitan. Jadi jika anda bukan halaman, pastikan anda menyesuaikan dengan sewajarnya, kerana litium secara automatik akan mendapat penamaan ini untuk mempermudahkan kerja kami.

Seterusnya, kita perlu memasukkan fail ini dalam fail kelas pengawal kami, jadi sila tampal berikut di bawah perisytiharan ruang nama:

CREATE TABLE `pages` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `content` text,
  `created` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

yang seterusnya adalah untuk memadam kandungan mock dalam kaedah () dan pastikan fungsi ini melepasi parameter $ ID supaya kita tahu halaman mana yang perlu kita ambil. Tugas mudah kami yang tersisa adalah untuk menanyakan rekod halaman dan lulus hasilnya ke paparan. Oleh itu, kaedah halaman yang diubahsuai () akan kelihatan seperti ini:

INSERT INTO `pages` (`id`, `title`, `content`, `created`)
VALUES
    (1, 'My awesome page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158745),
    (2, 'Some other page title', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 1397158768);

Kami menggunakan kaedah pertama () kelas induk model untuk bertanya menggunakan syarat. Hasilnya adalah objek yang kami gunakan kaedah () kaedah untuk mendapatkan data rekod. Data ini mengambil array dengan nama lajur jadual sebagai kunci. Selebihnya adalah sama seperti sebelum ini, kecuali bahawa kita memformat medan yang dicipta menggunakan fungsi tarikh PHP () kerana apa yang kita dapat dari pangkalan data adalah timestamp Unix. Itu sahaja.

Jika kita menavigasi ke http: contoh.com/site/page/1, kita harus melihat halaman dengan ID 1. Jika kita menukar parameter URL terakhir kepada 2, halaman harus memuat rekod kedua. Rapi.

Kesimpulan

Dalam tutorial ini, kita melihat betapa mudahnya untuk memahami dan menggunakan rangka kerja litium MVC. Kami belajar bagaimana untuk menentukan pengawal, pandangan, dan model, dan cara menggunakannya bersama -sama untuk membuat aliran aplikasi yang kemas dan berasingan. Kami juga melihat betapa bergunanya perjanjian lithium bagi kami untuk memulakan. Walaupun kami tidak menyedarinya, kami abstrak kandungan pangkalan data kami dan mendedahkannya untuk akses mudah.

Saya harap anda telah belajar sesuatu dan ingin tahu tentang menyelidiki lebih mendalam ke dalam ciri -ciri berkuasa lain yang ditawarkan litium. Apakah beberapa kaedah CRUD terbina dalam? Bagaimana untuk mengembangkannya? Bagaimana untuk menentukan laluan tersuai anda sendiri? Bagaimana cara menggunakan pelbagai susun atur untuk menjadikan unsur -unsur yang lebih kecil walaupun dilihat? Ini adalah ciri -ciri yang kuat Lithium yang ditawarkan untuk aplikasi web kami dan patut dicuba.

Adakah saya membangkitkan rasa ingin tahu anda? Ingin mengetahui lebih lanjut mengenai rangka kerja yang sangat baik ini?

(bahagian FAQ adalah sama dengan teks asal, tiada pengubahsuaian diperlukan)

Atas ialah kandungan terperinci Rangka Kerja Lithium: Bermula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya melaksanakan pengesahan dan kebenaran dalam php? Bagaimana saya melaksanakan pengesahan dan kebenaran dalam php? Jun 20, 2025 am 01:03 AM

TosecurelyhandleAuthenticationandauthorizationInphp, ikuti: 1.alwayshashpasswordswithpassword_hash () andverifyUsingPassword_verify (), usePePreparedStatementStopreventsqlInjection, andStoreUserDatain $ _SessionAsLogin.2.implescureRoleRoleRoleRoleRole

Bagaimana anda boleh mengendalikan fail memuat naik dengan selamat di php? Bagaimana anda boleh mengendalikan fail memuat naik dengan selamat di php? Jun 19, 2025 am 01:05 AM

Untuk mengendalikan muat naik fail dengan selamat di PHP, terasnya adalah untuk mengesahkan jenis fail, menamakan semula fail, dan menyekat kebenaran. 1. Gunakan finfo_file () untuk memeriksa jenis mime sebenar, dan hanya jenis tertentu seperti imej/jpeg dibenarkan; 2. Gunakan uniqid () untuk menghasilkan nama fail rawak dan simpannya dalam direktori akar bukan web; 3. Hadkan saiz fail melalui borang php.ini dan html, dan tetapkan kebenaran direktori ke 0755; 4. Gunakan Clamav untuk mengimbas malware untuk meningkatkan keselamatan. Langkah -langkah ini dengan berkesan menghalang kelemahan keselamatan dan memastikan bahawa proses muat naik fail adalah selamat dan boleh dipercayai.

Apakah perbezaan antara == (perbandingan longgar) dan === (perbandingan ketat) dalam php? Apakah perbezaan antara == (perbandingan longgar) dan === (perbandingan ketat) dalam php? Jun 19, 2025 am 01:07 AM

Dalam PHP, perbezaan utama antara == dan == adalah ketat pemeriksaan jenis. == Penukaran jenis akan dilakukan sebelum perbandingan, contohnya, 5 == "5" pulangan benar, dan === meminta nilai dan jenis adalah sama sebelum benar akan dikembalikan, sebagai contoh, 5 === "5" mengembalikan palsu. Dalam senario penggunaan, === lebih selamat dan harus digunakan terlebih dahulu, dan == hanya digunakan apabila penukaran jenis diperlukan.

Bagaimanakah saya melakukan operasi aritmetik dalam php (, -, *, /, %)? Bagaimanakah saya melakukan operasi aritmetik dalam php (, -, *, /, %)? Jun 19, 2025 pm 05:13 PM

Kaedah menggunakan operasi matematik asas dalam PHP adalah seperti berikut: 1. Tanda tambahan menyokong bilangan bulat dan nombor terapung, dan juga boleh digunakan untuk pembolehubah. Nombor rentetan akan ditukar secara automatik tetapi tidak disyorkan kepada kebergantungan; 2. Tanda -tanda pengurangan - tanda, pembolehubah adalah sama, dan penukaran jenis juga terpakai; 3. Tanda -tanda pendaraban menggunakan tanda *, yang sesuai untuk nombor dan rentetan yang serupa; 4. Bahagian menggunakan / tanda, yang perlu mengelakkan pembahagian dengan sifar, dan perhatikan bahawa hasilnya mungkin nombor terapung; 5. Mengambil tanda modulus boleh digunakan untuk menilai angka ganjil dan bahkan, dan apabila memproses nombor negatif, tanda -tanda selebihnya selaras dengan dividen. Kunci untuk menggunakan pengendali ini dengan betul adalah untuk memastikan bahawa jenis data adalah jelas dan keadaan sempadan ditangani dengan baik.

Bagaimanakah anda boleh berinteraksi dengan pangkalan data NoSQL (mis., MongoDB, Redis) dari PHP? Bagaimanakah anda boleh berinteraksi dengan pangkalan data NoSQL (mis., MongoDB, Redis) dari PHP? Jun 19, 2025 am 01:07 AM

Ya, PHP boleh berinteraksi dengan pangkalan data NoSQL seperti MongoDB dan Redis melalui sambungan atau perpustakaan tertentu. Pertama, gunakan pemacu MongoDBPHP (dipasang melalui PECL atau komposer) untuk membuat contoh pelanggan dan mengendalikan pangkalan data dan koleksi, penyisipan sokongan, pertanyaan, pengagregatan dan operasi lain; Kedua, gunakan perpustakaan predis atau lanjutan phpredis untuk menyambung ke REDIS, lakukan tetapan dan pengambilalihan nilai utama, dan mengesyorkan PHPREDI untuk senario berprestasi tinggi, sementara Predis mudah untuk penempatan pesat; Kedua-duanya sesuai untuk persekitaran pengeluaran dan didokumentasikan dengan baik.

Bagaimanakah saya tetap terkini dengan perkembangan php terkini dan amalan terbaik? Bagaimanakah saya tetap terkini dengan perkembangan php terkini dan amalan terbaik? Jun 23, 2025 am 12:56 AM

Tostaycurrentwithphpdevelopmentsandbestpractices, followeyNewsssourcesLikePhp.netandphpweekly, engageWithCommunitiesonforumsandconference, keeptoolingupdatedandgraduallyAdoptNewFeatures, dan readribcoursourcourceSource

Apakah php, dan mengapa ia digunakan untuk pembangunan web? Apakah php, dan mengapa ia digunakan untuk pembangunan web? Jun 23, 2025 am 12:55 AM

Phpbecamepopularforwebdevelopmentduetoitseaseoflearning, seamlessintegrationwithhtml, widespreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsLikeWordPress.itexcelsinhandessubmissions

Bagaimana cara menetapkan zon waktu php? Bagaimana cara menetapkan zon waktu php? Jun 25, 2025 am 01:00 AM

TosetTheRightTimeZoneinPhp, USEDATE_DEFAULT_TIMEZONE_SET () functionAtthestArtAfyourscriptwithavalididentifiersuchas'america/new_york'.1.usedate_default_timeSet ()

See all articles