webForum webForum sponsras med lina och serverplats av Binero AB

Gå tillbaka   webForum > Artiklar och källkod > Källkod > Script - PHP

Svar
 
Trådverktyg Visningsalternativ
Äldre 2010-10-31, 13:23   #1
jme
Medlem
 
Registrerad: 2001-05-07
Ort: Alberga, Esbo, Finland
Inlägg: 1 940
Lösningar: 25
En simpel image browser med hjälp ab Zend Framework, Doctrine och MongoDB

Hejsan.

Jag har gjort en simpel image browser med hjälp av Zend Framework, MongoDB och Doctrine.

Applikationen klarar av att lagra bilder som användaren laddar upp, samt en kort förklaring samt taggar. Sedan kan man söka efter bilderna med taggarna som sökord.

Inte mycket mer.

Följande addresser kan användas:

zfgallery.local/image/image/addimage
zfgallery.local/image/image/search

Ett rätt så snabbt hack med andra ord. Här vill jag främst test hur lätt det är att använda MongoDB tillsammans med Doctrine.

Vissa saker görs på (tok)fel sätt. T ex så hämtas bilderna (datan) från MongoDB-databasen varje gång bilden skall visas och därför anropas Zend Frameworks MVC stack vid varje anrop. Bättre vore, om man istället hämtade bilderna som statiska.

Sedan så används ett fulhack (width="", height="") för att skala bilderna (ett stort no-no med riktiga projekt). Här borde man istället skala bilderna (t ex med GD eller Imagemagick) en gång och sedan visa de skalade versionerna vid följande anrop.

Sedan skall man ju följa "filter input, escape output" -mantran, som inte följs i denna exempel. Dvs att all innehåll som kommer från en användare / extern källa, skall ses som opålitlig data och måste behandlas därefter.

Applikationen borde fungera as is, såvida ni:
  • kör med PHP 5.3
  • har MongoDB installerat och i drift
  • har en passande vhost-konfiguration eller liknande (läs docs/README.txt för mer information + exempel)
  • har nedanstående bibliotek installerade i library-katalogen
  • har skapat katalogen public/images/mongodb och gett webb-servern läs- och skriv-access
För att inte göra den packade filen allt för stor så måste ni ladda ned:
Den korrekta (väsentliga) hierakin ser ut så här:

library:
  • Jme
  • Zend
  • doctrine2-common/lib
  • doctrine2-orm/lib
  • mongodb_odm/lib


(viktigt, annars får ni Class xxx not found -fel).

Jag körde med denna vhost-konfiguration:
PHP-kod:
<VirtualHost *>
        
ServerName zfgallery.local
        DocumentRoot 
/opt/local/apache2/htdocs/zfGallery/public

        
AddDefaultCharset utf-8

        SetEnv APPLICATION_ENV development
</VirtualHost
Sedan la jag till följande rad i /etc/hosts

127.0.0.1 zfgallery.local

Hur ni sedan installerar och kör MongoDb är upp till var och en.

Denna exempel kräver också att ni har viss kännedom om Zend Framework och Doctrine, även om applikationen borde kunna köras med noll koll!

Men får ni tokfel så fråga gärna. Jag försöker svara om jag kan.

Ge gärna kommentarer.
Bifogade filer
Filtyp: zip zfGallery.zip (165.3 KB, 29 visningar)
__________________
Min blogg | Mina böcker
jme besöker inte forumet just nu   Svara med citat
Äldre 2010-11-12, 16:10   #2
Serpen
Medlem
 
Registrerad: 2010-11-12
Ort: Västerås
Inlägg: 3
Lösningar: 0
Intressant... Detta ska testas! Återkommer.
Serpen besöker inte forumet just nu   Svara med citat
Äldre 2012-05-18, 06:55   #3
jme
Medlem
 
Registrerad: 2001-05-07
Ort: Alberga, Esbo, Finland
Inlägg: 1 940
Lösningar: 25
Det kommer troligtvis att uppstå mindre fel med entity-klasserna då Doctrine har uppdaterats sedan denna guide gjordes och användandet av sk annatations har ändrats lite.

Det du troligtvis kommer att få ändra på är hur du sätter längden på nummer-baserade datatyper i docblock.

Tidigare:

@column(name="foo", type="integer", length="40")

NU:

@column(name="foo", type="integer", length=40) <-- observera, length-attributen skall nu skrivas utan ""
__________________
Min blogg | Mina böcker
jme besöker inte forumet just nu   Svara med citat
Svar
webForum > Artiklar och källkod > Källkod > Script - PHP

Trådverktyg
Visningsalternativ

Forumregler
Du får inte posta nya trådar
Du får inte posta svar
Du får inte bifoga filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är av
HTML-kod är av

Forumhopp


Alla tider är i GMT +1. Klockan är nu 23:02.


Powered by: vBulletin Version 3.8.6
Copyright © webForum