{"id":2053,"date":"2011-12-10T00:57:50","date_gmt":"2011-12-09T22:57:50","guid":{"rendered":"http:\/\/yeti.albascout.ro\/blog\/?p=2053"},"modified":"2011-12-15T21:55:10","modified_gmt":"2011-12-15T19:55:10","slug":"inca-o-portie-de-aplicatii-web","status":"publish","type":"post","link":"https:\/\/yeti.albascout.ro\/blog\/inca-o-portie-de-aplicatii-web\/","title":{"rendered":"\u00cenc\u0103 o por\u021bie de Aplica\u021bii Web"},"content":{"rendered":"<p>Acum mai bine de o lun\u0103 am scris un material care speram s\u0103 fie un laborator de Aplica\u021bii Web &#8211; am trecut \u00een revist\u0103 trei aspecte importante, prin care \u00eencercam s\u0103 ne desprindem de atitudinea gen <em>tutoriale <\/em>\u0219i <em>n00b<\/em> \u00een ale PHP-ului \u0219i s\u0103 \u00eencerc\u0103m s\u0103 aplic\u0103m ni\u0219te best practice-uri \u0219i ni\u0219te tehnici comune din industrie.<\/p>\n<p>Am reu\u0219it s\u0103 parcurgem materialul, ata\u0219at mai jos \u00eempreun\u0103 cu scheletul de \u00eenceput \u0219i rezolvarea primei p\u0103r\u021bi (p\u00e2n\u0103 la CRUD &#8211; restul rezolv\u0103rii o public numai dup\u0103 luni, c\u00e2nd am ultimul laborator pe tema asta), \u00een trei s\u0103pt\u0103m\u00e2ni &#8211; \u0219i nu sunt convins c\u0103 am terminat.<!--more--><\/p>\n<p>De notat c\u0103 materialul serve\u0219te ca suport pentru laboratorul meu, unde mai vorbesc (mai ales av\u00e2nd \u00een vedere c\u0103 studen\u021bii mei nu prea citesc :P), \u0219i nu se vrea a fi unul complet. Conceptele cu care mi-am propus s\u0103 \u00eei familiarizez pe studen\u021bi au fost programarea orientat\u0103 obiect \u00een PHP, utilizarea conceptului de dispecer (dipatch) \u00een aplica\u021bii web, utilizarea conceptului de Template Engine pentru a respecta separarea MVC \u0219i, desigur, conexiunea \u0219i lucrul cu o baz\u0103 de date (\u00een acest caz, prin driverul MySQLi).<\/p>\n<p>Ca de obieci, dac\u0103 sunte\u021bi \u00een domeniu, sau sunte\u021bi interesa\u021bi de subiect, a\u0219tept feedback \u0219i idei adi\u021bionale de ce-a\u0219 putea face la laborator :)<\/p>\n<ul>\n<li><a  data-e-Disable-Page-Transition=\"true\" class=\"download-link\" title=\"\" href=\"http:\/\/yeti.albascout.ro\/blog\/download\/9002\/?tmstv=1776424223\" rel=\"nofollow\" id=\"download-link-9002\" data-redirect=\"false\" >\n\tLaboratorul 5 Aplica\u021bii Web\t(742 downloads\t)\n<\/a>\n<\/li>\n<li><a  data-e-Disable-Page-Transition=\"true\" class=\"download-link\" title=\"\" href=\"http:\/\/yeti.albascout.ro\/blog\/download\/9004\/?tmstv=1776424223\" rel=\"nofollow\" id=\"download-link-9004\" data-redirect=\"false\" >\n\tScheletul laboratorului\t(766 downloads\t)\n<\/a>\n<\/li>\n<li><a  data-e-Disable-Page-Transition=\"true\" class=\"download-link\" title=\"\" href=\"http:\/\/yeti.albascout.ro\/blog\/download\/9006\/?tmstv=1776424223\" rel=\"nofollow\" id=\"download-link-9006\" data-redirect=\"false\" >\n\tRezolvarea (prima parte)\t(797 downloads\t)\n<\/a>\n<\/li>\n<li><strong>UPDATE:<\/strong> <a  data-e-Disable-Page-Transition=\"true\" class=\"download-link\" title=\"\" href=\"http:\/\/yeti.albascout.ro\/blog\/download\/9008\/?tmstv=1776424223\" rel=\"nofollow\" id=\"download-link-9008\" data-redirect=\"false\" >\n\tRezolvarea (complet\u0103)\t(723 downloads\t)\n<\/a>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Acum mai bine de o lun\u0103 am scris un material care speram s\u0103 fie un laborator de Aplica\u021bii Web &#8211; am trecut \u00een revist\u0103 trei aspecte importante, prin care \u00eencercam s\u0103 ne desprindem de atitudinea gen tutoriale \u0219i n00b \u00een ale PHP-ului \u0219i s\u0103 \u00eencerc\u0103m s\u0103 aplic\u0103m ni\u0219te best practice-uri \u0219i ni\u0219te tehnici comune din &hellip; <a href=\"https:\/\/yeti.albascout.ro\/blog\/inca-o-portie-de-aplicatii-web\/\" class=\"more-link\">Continu\u0103 s\u0103 cite\u0219ti <span class=\"screen-reader-text\">\u00cenc\u0103 o por\u021bie de Aplica\u021bii Web<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[764,557],"tags":[763,727,682],"class_list":["post-2053","post","type-post","status-publish","format-standard","hentry","category-aplicatii-web","category-facultate","tag-aw","tag-cs-pub","tag-php"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/posts\/2053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/comments?post=2053"}],"version-history":[{"count":6,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/posts\/2053\/revisions"}],"predecessor-version":[{"id":2080,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/posts\/2053\/revisions\/2080"}],"wp:attachment":[{"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/media?parent=2053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/categories?post=2053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/tags?post=2053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}