Construim CMS noastre in PHP si MySQL

În acest proces, veți învăța cum să creați o bază de date și tabele MySQL, lucra cu obiecte, constante, incluziuni, și alte sesiuni de instrumente PHP. În plus, ne arată cum să se separe logica de aplicare de la codul de prezentare și de a face PHP mai sigur. Și veți descoperi mult mai util în crearea de propriul sistem de vis.







Notă: Materialele pentru studiul lecțiilor necesită server de web Apache cu PHP și modul de server MySQL. Pentru a lucra pe computer, puteți utiliza unul dintre instrumentele pentru dezvoltator web: XAMPP (în limba engleză), Denwer. Deschideți serverul sau altul.

Cum de a face panoul de administrare
Cum de a face panoul de administrare

Funcționalitatea CMS-ul nostru

Primul pas este de a determina exact ceea ce va face CMS-ul nostru. Deci, aici este o listă de caracteristici:

  • Intrare / ieșire pentru administrator
  • Lista tuturor articolelor
  • Adăugați un nou articol
  • Editarea unui articol existent
  • Eliminarea unui articol existent

activitatea de planificare

Pentru a crea CMS-ul nostru trebuie să facem următorii pași

  1. Crearea unei baze de date
  2. Creați un articole de masă
  3. Asigurați-vă fișierul de configurare
  4. Build clasă Articolul
  5. Scrie client-side script index.php
  6. Scrieți un script admin.php server-side
  7. Crearea unui șablon de client-side
  8. Crearea unui șablon de server-side
  9. Creați o foaie de stil și logo-ul de sistem

Notă: Lecțiile paginilor este codul pentru CMS-ul nostru gata pentru a copia în fișiere text. Dacă nu doriți să creați propriile fișiere, puteți descărca arhiva sursă, care conține toate fișierele și folderele necesare.

Pasul 1: Crearea unei baze de date

În primul pas pe care trebuie să creați o bază de date MySQL la conținutul magazin. Puteți face acest lucru:

Rulați programul client MySQL deschide o fereastră terminal și introduceți comanda

mysql -u nume de utilizator -p

Când vi se solicită, introduceți parola de acces la MySQL.

Nume utilizator - nume de utilizator care are permisiunea de a crea baze de date. Atunci când se lucrează pe computer, puteți utiliza rădăcină. deși pentru securitate ar trebui să creați întotdeauna un utilizator cu un nume diferit pentru sarcinile administrative.

După crearea unei etichete baza de date MySQL> introduceți:

crearea unor baze de date CMS;

Și apăsați Enter.

Ieșiți din mysql program client mysql După tag> introduceți:

Și apăsați Enter.

Pentru a rezolva această problemă, puteți utiliza, de asemenea, instrumente pentru baze de date, cum ar fi administrarea phpMyAdmin, cPanel sau Plesk (dacă este instalat pe server). În unele cazuri, utilizarea unor astfel de instrumente este disponibilă numai pentru utilizatorii cu instrumentele necesare pentru a lucra cu baze de date (situația depinde de regulile stabilite de găzduire).

Pasul 2. Crearea unui tabel articole

simplu CMS-ul nostru are un singur tabel în baza de date: articole. Acesta conține toate articolele din sistemul nostru.

Crearea unei diagrame tabel. Tabelul schemă descrie tipurile de date care pot fi incluse în tabel și informațiile cu privire la aceasta.

Creați un tables.sql fișier text de pe hard disk-ul și adăugați următorul cod:

Codul de mai sus definește o diagramă de articole de masă. Acesta este scris în SQL, limba pentru a crea și manipula baze de date în MySQL (și în multe alte sisteme).

Să considerăm următorul cod de mai sus

Acum avem o diagramă a unui tabel și trebuie să fie încărcate în MySQL pentru a crea structura. Cel mai simplu mod - pentru a deschide o fereastră terminal, navigați la folderul cu tables.sql fișierul și executați următoarea comandă:

mysql -u nume de utilizator -p CMS

în cazul în care numele de utilizator - nume de utilizator MySQL, si CMS - numele bazei de date pe care am creat în pasul 1.

Introduceți parola utilizatorului cererii, si MySQL pentru a descărca și executa cod din fișierul tables.sql. crearea de articole de masă CMS în baza de date.

Puteți utiliza, de asemenea, instrumente pentru baze de date, cum ar fi administrarea phpMyAdmin, cPanel sau Plesk (dacă este instalat pe server).

Pasul 3. Crearea unui fișier de configurare

Avem acum o bază de date și suntem gata de a dezvolta cod PHP. Începeți prin crearea unui fișier de configurare pentru stocarea diferitelor setări pentru CMS-ul nostru. Acest fișier va fi utilizat de restul script-urile din sistemul nostru.

Primul pas este crearea unui dosar CMS în dosarul server Web. Acesta va conține toate fișierele de CMS.

În CMS dosar a crea un fișier config.php și copiați codul de mai jos:

Să analizăm codul în detaliu:

  1. O eroare în ini_set șir de browser () setează eroarea în modul de mesaje de ieșire în browser. opțiune excelentă pentru depanare, dar un proiect finit ar putea avea pentru a dezactiva această opțiune (setată la false) resurse de securitate.
  2. Am stabilit fusul orar Din moment ce CMS-ul nostru va utiliza funcția PHP date (). trebuie să specificați fusul orar al serverului pentru PHP (altfel PHP va genera o alertă). În exemplul stabilit zona de „Australia / Sydney“ - schimbarea sa.
  3. Setați detaliile de acces la baza de date este apoi determinată de DB_DSN constantă. PHP care indică în cazul în care pentru a găsi baza de date MySQL. NumeBD parametru trebuie să se potrivească cu numele bazei noastre de date CMS (CMS). Vom păstra, de asemenea, numele de utilizator și parola MySQL folosite pentru a accesa baza de date CMS constante și DB_USERNAME PAROLĂ_BD. Setați valoarea corectă în constantele de date care se potrivesc cu preferințele dumneavoastră.
  4. Am stabilit calea pe care am stabilit 2 moduri în fișierul nostru de configurare: CLASS_PATH. care indică locul de depozitare a fișierelor de clasă, și cale_șablon. care indică HTML șablon de depozit. Ambele căi sunt raportate la CMS directoare superioare.
  5. Setați numărul de articole afișate pe principalele HOMEPAGE_NUM_ARTICLES pagina controlează numărul maxim de titluri de articole care apar pe pagina principală. Am stabilit un 5, dar puteți crește sau micșora valoarea.
  6. Setați numele și parola de administrator și Constante ADMIN_USERNAME ADMIN_PASSWORD conțin informații de înregistrare pentru administratorul CMS.
  7. Porniți articolul clasa Deoarece fișierul articol de clasă (pe care le vom crea mai târziu) este necesară în toate script-urile aplicației noastre, vom adauga aici.
  8. Creați un handler excepție În cele din urmă definesc handleException () - o funcție simplă PHP să se ocupe de excepții. care pot fi generate în timpul rulării. Această funcție afișează un mesaj de eroare generică și înregistrează informațiile de eroare în jurnalul de server de web. Această caracteristică ajută la îmbunătățirea securității în detrimentul manipulare excepție DOP, care poate afișa un nume de utilizator și o parolă pe pagina. După determinarea funcției handleException (). am stabilit ca un handler PHP excepție, cauzând funcția set_exception_handler ().

Acest handler de excepție se face pentru a simplifica materialul lecție. Modul în care „dreptul“ să se ocupe de excepții pentru a intercepta toate apelurile către DOP Article.php este de a utiliza încerca blocuri. captura.

Notă de siguranță

În lecția următoare vom construi clasa principală a aplicației noastre - articolul.

Flex27 DOP imediat. M-am uitat despre limba. Mai întâi trebuie să adăugați codificarea paginilor încărcate.)) Și în al doilea rând într-o funcție __construct funcției publice sunt limitate la caracterele.







  • și din nou cu privire la concluziile articol se face! Ei bine, nu o fac mai puțin merită? cum ar fi site-ul pentru a lucra cu un conținut diferit (o listă de fișiere - filme, jocuri, muzica) în loc de aceste articole. Despre programe sociale de sprijin, așa că nici măcar nu pot imagina cum ar fi cum să-l pună în aplicare, astfel încât, dacă cineva a explicat, apoi Durov și Zuckerberg este puțin probabil să împartă experiența!

  • Ce este o fereastră terminal și cum să-l folosească.

    fabrigas201

    terminalul este linia de comandă în Linux este numit un terminal sau coajă, în măsura în care știu.

  • Am descarcat codul sursa, dar nu pornește, scrie o eroare Ne pare rău, a apărut o problemă. Vă rugăm să încercați mai târziu.

    Cu această versiune php de verificare problemă și dacă modulele corecte sunt conectate în php.ini.

  • classic1698

    Nu crezi că răspândirea cu erori „prost gust“? De exemplu Admin: Avertizare: session_start () [function.session-start]: Nu se poate trimite cookie de sesiune - antetele deja trimise de (producție a început la /home/elated/v3.elated.com/articles/development/php/cms-in- o dupa-amiaza-php-mysql / config.php: 21) în /home/elated/public_html/res/File/articles/development/php/cms-in-an-afternoon-php-mysql/demo/admin.php pe linia 4 Atenție: session_start () [function.session-start]: nu se poate trimite sesiune cache limitator - antetele deja trimise (de ieșire a început la /home/elated/v3.elated.com/articles/development/php/cms-in-an -afternoon-php-mysql / config.php: 21) în /home/elated/public_html/res/File/articles/development/php/cms-in-an-afternoon-php-mysql/demo/admin.php on line 4 Atenție: nu se poate modifica informații de antet - antetele deja trimise de (producție a început la /home/elated/v3.elated.com/articles/development/php/cms-in-an-afternoon-php-mysql/config.php:21 ) în /home/elated/public_html/res/File/articles/development/php/cms-in-an-afternoon-php-mysql/demo/admin.ph p on line 47

    nik.gavrilovich

    transcodează fișierul în format UTF-8 fără BOM. Aceste sesiuni de eroare.

  • Shade1234321
  • Ajutor cu proiecte de orice complexitate! [email protected] e-mail prin Skype - san4o123123

  • Fir-ar spune-mi ce fel de bug-ul este asta? Ne pare rău, a apărut o problemă. Vă rugăm să încercați mai târziu. prima este eroare vezi inscripție mut. NID și ce versiune de php?

    bază de date Nedklyuchena pentru a verifica datele!

    uasd

    Cum să utilizați PHP mi admin adăuga un tabel? Scrii ca și cum fac asta în fiecare zi, și el știe totul. dar, în acest caz, mi-ar fi aceste lecții nu erau necesare. Vă rugăm să mestece totul pe rafturi pentru o persoană care nu BAA sau UI

  • Admin, de ce a ales MODX, spune-mi ce sunt avantajele?

  • Cine a experimentat, vă rugăm să adăugați explicațiile umane despre „drept“ modul de manipulare excepție pentru a intercepta toate apelurile către DOP. în acest exemplu

  • Cum de a face panoul de administrare

    Prin obținerea de informații de la două canale (vedere si auz) eficacitatea instruirii de învățare departe superioare de cărți. O temele pentru acasă și teste on-line vă va permite să se gândească în mod constant în limba țintă și imediat verifica cunoștințele!

    Cum de a face panoul de administrare

    Cum de a face panoul de administrare

    Dacă doriți o lungă perioadă de timp pentru a studia modul în HTML, mi-ai, pentru ai vesti bune!

    Cum de a face panoul de administrare

    Dacă ați învățat deja HTML și doresc să avanseze, următorul pas va fi de a studia tehnologia CSS.

    Cum de a face panoul de administrare

    Dacă doriți să înțeleagă conceptele de domeniu si hosting, învață cum să creeze o bază de date, încărca fișiere pe un site web prin intermediul unui server FTP, crea subdomenii, configurați cutiile poștale pentru site-ul și să monitorizeze participarea, acest curs este conceput special pentru tine!