Archive for Lipiec, 2011
Generowanie modeli Doctrine pod Windows
3
Wymyśliłem sobie ostatnio, że spróbuję odpalić Doctrine ORM pod Windowsem XP z zainstalowanym WAMP serwerem. Wszystko szło pięknie do momentu generowania modeli.
Otóż, zgodnie z dokumentacją Doctrine utworzyłem niezbędne pliki oraz strukturę katalogów, plik generate.php:
require_once('bootstrap.php');
Doctrine_Core::dropDatabases();
Doctrine_Core::createDatabases();
Doctrine_Core::generateModelsFromYaml('schema.yml', 'models');
Doctrine_Core::createTablesFromModels('models');
Podczas wywołania z linii komend:
C:/wamp/bin/php/php5.2.11/php D:/www/nazwaProjektu/generate.php
otrzymywałem wynik: Fatal error: Uncaught exception ‘Doctrine_Import_Exception’ with message ‘No yml schema found in schema.yml’ in D:\www\nazwaProjektu\lib\vendor\doctrine\Doctrine\Import\Schema.php:277 i cóż z tym fantem miałem zrobić? Szukałem porad w Google, ale poza kilkoma francuskimi forami nic nie znalazłem. Próbowałem kombinować na wszelkie sposoby z umiejscowieniem pliku schema.yml bez efektu.
W pewnym momencie naszła mnie błyskotliwa myśl
Poczyniłem zmiany, w wyzej wymienionym pliku Schema.php w linii 277 wstawiłem mały kod:
public function importSchema($schema, $format = 'yml', $directory = null, $models = array())
{
...
$array = $this->buildSchema($schema, $format);
if (count($array) == 0) {
mkdir('TUTAJ'); ///////////// TUTAJ WSTAWILEM KOMENDE TWORZĄCĄ KATALOG
throw new Doctrine_Import_Exception(
sprintf('No ' . $format . ' schema found in ' . implode(", ", $schema))
);
}
...
}
Po ponownym wywołaniu z linii komend pliku generate.php kazałem windowsowej wyszukiwarce wyszukać katalog o nazwie TUTAJ, to był strzał w dziesiątkę

Okazało się, że PHP szuka pliku w katalogu z PHP: C:\wamp\bin\php\php5.2.11\
Utworzyłem więc tam katalog models i wrzuciłem do niego schema.yml i zadziałało. Model został poprawnie wygenerowany.
Nie będę teraz opisywał jak poprawić tego buga, to już zostawiam Wam do rozkminienia
Fasturl.pl – faza 6 – uruchomienie
0TAK! System już działa pod oficjalną domeną fasturl.pl 
Zapraszam do korzystania
Skracanie linków to moja specjalność
Jak widać w kilka godzin udało mi się postawić cały system, wprowadzić podstawowe zabezpieczenia, i uruchomić, w międzyczasie opróżnionych zostało kilka puszek piwa i szklaneczka Krupniku z lodem
(nie ma to jak zupa o pónocy
)
Już urodziło mi się w głowie kilka pomysłów na rozbudowanie fastUrl.pl, podejrzewam, że wprowadzę nowe ulepszenia już jutro
Tymczasem, pora iść chyba spać,
Niech krótkie URL’e będą z Wami
FastUrl.pl – Szybkie linki, skracanie linków, krótkie linki
Fasturl.pl – faza 5 – oprawa graficzna
0Jak pisałem wcześniej, obszedłem parsowanie urli za pomocą mod-rewrite, przeniosłem to na PHP co dało natychmiastowy efekt.
W chwili obecnej system działa w 100%, można dodawać nowe linki, przekierowywać je, korzystać z przekierowań. Założenia podstawowe zostały w 100% spełnione, teraz tylko pozostało mi w jakiś sposób oprawić ten projekt w podstawową grafikę i pchnąć go na serwer
Fasturl.pl – faza 4 – konfiguracja przekierowań
0System już działa w 100% w podstawowych założeniach, można dodawać przekierowania i je wywoływać.
Po wejściu na wskazany URL, system sam poprawnie przekieruje na wskazany podczas tworzenia fastUrl’a adres. Mam mały problem z konfiguracją mod-rewrite, kiedy poprawnie działają przekierowania bezpośrednie, wtedy wywalają się URI wewnętrzne, zmienne post ani get nie są przekazywane, chyba będę musiał je obsłużyć w PHP, to powinno zająć małą chwilkę.
Fasturl.pl – faza 3 – akcje
0Ok, pierwsze akcje działają, można dodawać własne linki, system sprawdza czy takie krótkie linki już działają i zależności od wyniku uruchamia odpowiednie template’y. Teraz jeszcze przekierowania… Zastanawiam się czy wystarczy mi motywacji i chęci do tego, żeby okraszyć ten projekt jakąś nędzną grafiką, czy zostawię to sobie na jutro… Sprawdźmy
Fasturl.pl – faza 2 – konfiguracja
0Silnik postawiony, Doctrine skonfigurowany, pierwsze templaty zrobione, drugie piwo się kończy.
System działa, czas zająć się akcjami.
Fasturl.pl – faza 1 – silnik
0Zacząłem się zastanawiać nad wyborem silnika do mojego skryptu, poguglowałem chwilę i nic ciekawego – gotowego nie znalazłem.
Zacząłem zastanawiać czy nie warto postawić tego np. na Symfony. Doszedłem do wniosku, że Sf to chyba za duży framework jak na taki mały skrytp.
Decyzja, postawię go na własnym silniku PHP który tworzę od kilku dni… Ruszamy!
Fasturl.pl – mój własny skracacz linków.
0Szperając sobie po Facebooku wpadłem na jedną stronę gdzie mocno promowano konkursy społecznościowe. Poczytałem, nawet w dwóch wziąłem udział. Wpadłem w międzyczasie – czytając – na pewną fajną sprawę, tzw. skracacz linków. Wiem że w sieci jest ich od groma, ale po jednym piwie i 2 minutach przemyśleń postanowiłem napisać swój własny skracacz linków.
Szybko zacząłem szukać domeny, po 5 min znalazłem! FastUrl.pl <- pod tym adresem jeszcze dzisiaj znajdzie się mój własny skrypt!
Mam nadzieję, że ten plan mi się uda.
Piwo – czyli pytanie natury egzystencjonalnej.
2Dlaczego wyjście na piwo nigdy nie kończy się piwem?
HalVa’s Back! – HalVa’s Name-day 2011 – czyli u HalVy na imieninach :D
0SŁUCHAĆ i KOMENTOWAĆ
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
Download: HalVa’s Back! – HalVa’s Name-day 2011 (96,9 MB)
