APLICARE WEB PENTRU PREGĂTIREA ALIMENTELOR
Universitatea de Tehnologie și Economie din Budapesta Facultatea de Inginerie Electrică și Informatică Departamentul de Automatizare și Informatică Aplicată Tamás Tóth APLICAȚIE WEB NUTRIȚIE Orientate pe obiecte Bazate pe PHP CONSULTANȚI Zoltán Dávid, Gábor Gincsai BUDAPEST, 2013
Cuprins Aplicație web Diet Maker. 1 Cuprins. 2 Rezumat. 5 Rezumat. 6 1 Introducere. 7 2 Specificații. 9 2.1 Scopul. 9 2.2 Clarificarea fișei postului. 9 2.3 Sarcini de efectuat. 11 3 Cerințe. 13 3.1 Criterii de sistem. 13 3.2 Criterii pentru dezvoltatori. 13 4 Examinarea cadrelor populare și a managerilor de conținut. 14 4.1 Cadre. 14 4.2 Administratori de conținut. 15 5 Server și mediu dezvoltator. 17 5.1 Server Web. 17 5.2 Server static. 17 5.3 Limbajul și extensiile programului. 18 5.4 Server cache (NoSQL). 20 5.5 Server de baze de date relaționale. 22 5.6 Sistem de urmărire a versiunilor. 22 5.7 Mediul de dezvoltare integrat. 24 6 Cadrul propriu. 25 6.1 Planificarea. 25 6.2 Implementare. 38 7 Planul bazei de date pentru cererea de preparare a alimentelor 42 7.1 Managementul conținutului. 42 7.2 Informații despre zonă. 43 7.3 Baza de cunoștințe. 43 7.4 Dieta. 44 7.5 Date utilizator. 45
7.6 Implementare. 47 8 Aplicații de service. 49 8.1 Manager de alimentație și dietă (diet-api). 50 8.2 User-api. 54 9 Aplicație web optimizată pentru desktop. 56 9.1 Planificarea. 56 9.2 Implementare. 60 10 Optimizarea pentru un mediu mobil. 66 10.1 Planificarea. 66 10.2 Implementare. 66 11 Testarea. 70 11.1 Soiuri. 70 11.2 Plan. 70 11.3 Exemple. 71 12 Procesul de armare. 73 12.1 Opțiuni. 73 12.2 Construcții. 74 13 Evaluare. 76 14 Opțiuni de îmbunătățire. 77 Lista figurilor. 79 Referințe. 80 Anexa A. Anexa DVD. 85
DECLARAȚIA ELEVULUI Eu, subsemnatul, Tamás Tóth, student la licență, declar că am pregătit singur acest plan de diplomă, fără permisiunea mea, am folosit doar sursele date (literatură, instrumente etc.). Orice parte pe care am luat-o dintr-o altă sursă, literal sau în același sens, dar reformulată, a fost clar marcată cu sursa. Sunt de acord cu publicarea datelor de bază ale lucrării mele actuale (autor, titlu, rezumat în limba engleză și maghiară, anul pregătirii, numele consultanților) în formă electronică accesibilă public la BME VIK și textul integral al lucrării prin intermediul rețeaua internă a universității (sau pentru utilizatorii autentificați). Declar că lucrarea trimisă și versiunea sa electronică sunt aceleași. În cazul tezelor de diplomă criptate cu permisiunea decanului, textul disertației devine disponibil numai după 3 ani. Data: Budapesta, 24 mai 2013. Tamás Tóth
pentru suprafața dorită. Limitările de date trebuie, de asemenea, luate în considerare, atât în ceea ce privește memoria, cât și lățimea de bandă, acest lucru necesită regândirea disponibilității caracteristicilor, dezactivarea acestora, rearanjarea interfeței, simplificarea acesteia acolo unde este necesar. Pentru a asigura calitatea, este esențial să testați aplicațiile, la început acest lucru se poate face relativ rapid manual, dar în viitor, dacă mai mulți dezvoltatori se vor alătura proiectului și lista funcțiilor se extinde, testarea automată va fi justificată. Vom revizui aspectele acestui aspect și vom analiza 1-1 exemple de soluții alese. Programul finalizat trebuie să fie tratat într-o formă consecventă în timpul funcționării live, prin urmare va fi necesară o metodă și un sistem de armare. Vom afla despre posibilitățile și metoda aleasă la începutul proiectului. La sfârșitul proiectului de diplomă, evaluez proiectul și explic idei suplimentare și oportunități de dezvoltare pentru viitorul producătorului de alimente. 12
nu poate fi ocolită fără a o modifica, dar ar fi complicat și riscant să urmezi actualizările. Joomla [19]: de asemenea, un popular manager de conținut care este complet orientat spre obiecte, extensibil cu componente, module și plug-in-uri. Această structură este un exemplu de urmat pentru un proiect mare. Deși sistemul funcționează bine, calitatea bazei de cod lasă de dorit, există probleme mai puternice de compatibilitate cu modificările majore ale versiunii, componentele terților ar putea accelera mult dezvoltarea produsului, dar au și un cod mai problematic decât baza sistem. 16
Export (export în alte formate): include FPDF [60], ceea ce face mai ușoară conversia unei pagini HTML în PDF sau crearea oricărui PDF pentru a crea, de exemplu, un document dietetic descărcabil și solicitant; sau TXLS, care poate fi salvat într-un format XLS simplu, vechi, binar (propriul preparat). Model (modele de proiectare): clase de strămoși abstracte, trăsături pentru diferite modele de proiectare, care fac implementarea modelului dat chiar mai simplă. 6.1.3 Funcționare Figura 1: Gestionarea unei cereri de browser dintr-o perspectivă de cadru Pași principali: 1. Cererea ajunge la serverul web, care determină vhost-ul de utilizat pe baza domeniului. Vhost determină calea serverului. Regulile de rescriere URL specifică faptul că dacă adresa URL rezultată nu indică un fișier sau director real, index.php va răspunde cererii. 2. index.php instanțiază clasa de aplicație corespunzătoare aplicației, trimițându-i calea rădăcină a aplicației curente și apoi rulând-o. 3. Aplicația inițializează principalele clase ale cadrului (încărcător de clase, manager de configurație, gestionar de erori), gestionează fișierele de configurare, rutare și traducere asociate cu aplicația. Utilizați routerul pentru a defini componenta, controlerul, funcționarea triplă pentru cerere și instanțați-l 29
controlerul corespunzător și apoi îi transmite procesarea apelând acțiunea respectivă. 4. Controlerul componentei efectuează orice operațiune și apoi revine fie cu un șablon care va fi generat pentru ieșire (în format HTML), fie cu un tablou care este destinat în format JSON ca răspuns. 5. Aplicația preia datele menționate și efectuează acțiunile necesare sau gestionează o eroare dacă a apărut. 6.1.4 Structura codului Folosesc astăzi structura propusă de compozitorul din ce în ce mai popular ([54] sistem extern de gestionare a dependenței) pentru a determina nivelurile superioare: /. În cazul meu, MechaRex/DietMaker va fi definiția specifică, care este realizată și la nivelul bibliotecii din depozitul Mercurial numit MechaRex. Figura 2: Structura unei biblioteci de preparare a alimentelor. 30
component: colector de componente o modul: colector de module o plugin: colector de plugin-uri o
include: colecția de fișiere de configurare a aplicației o (opțional) config.php: setări o (opțional) config_ .php: setări dependente de limbă o (opțional) routing.php: setarea strategiei de gestionare a rutei o (opțional) routing_ .php: dependent de limbă rutare web: serviciul web rădăcină al aplicației o index.php: punctul de intrare al aplicației Structura unei componente: controler: colector de controlere o model: colector de logică de afaceri și gestionarea datelor o date: manageri de date .php o logică: logici de afaceri vizualizare .php: colector de interfețe o cache: locația șabloanelor traduse .php o bloc: bloc șabloane .tpl o aspect: șabloane cadru pagină .tpl o șablon: șabloane conținut pagină
-
.tpl Structura unui modul poate fi împărțită în subdirectoare pentru clasificare: .php: modul controler 32
(opțional) model/date, logică/vizualizare clase/cache, bloc/șablon de bloc Structura unui plugin poate fi împărțită în subdirectoare pentru clasificare:
- Respiră adânc și calmează-te! PDF Descărcare gratuită
- SpeakBoard - Descărcarea computerului vorbitor - Software gratuit, drivere pentru aplicații mobile,
- Dieta pentru pacienții cu stomă - PDF Descărcare gratuită
- Terenul de adaptare la provocările climatice în schimbare - PDF Descărcare gratuită
- Ghid pentru un stil de viață sănătos și activ - Descărcare gratuită PDF