teamon.eu

Instalacja Symfony na Mac OS 10.5 (XAMPP)

03 stycznia 2008

Tutoriali instalacyjnych symfony jest sporo, ale żaden nie odnosi się do XAMPP`a. Najczęściej jest wykorzystane dostarczony w Leopardem PHP oraz DarvinPorts. Stwierdziłem, że to się może komuś przydać. Jak dla mnie XAMPP jest najlepszą (najwygodniejszą) opcją. Wykorzystam go jako serwer developerski a nie produkcyjny więc nie chce mi się bawić w konfiguracje itp. XAMPP oferuje banalnie prostą instalacje (kreator) - parę klików i gotowe.

Przedstawiony tu opis jest dziełem zebranym po mojej drodze przez fora macplug oraz oficjalne forum symfony (jak sie nie wie to trzeba szukać). Szczególnie przydatny będzie dla tych, co przerzucili się z Windowsa na Maca i nie mają doświadczenia z konsolą unixową (sam do takich należy, ale jak to mówią - człowiek uczy się całe życie). Mój opis jest sprawdzony pod OS X ale możliwe że podobnie należy postąpić na innych platformach.

Wchodzimy na stronę projektu i ściągamy najnowszą wersję.

Odpalamy instalera, klikamy dalej, dalej, dalej...

Teraz musimy aktywować domyślnie wyłączone konto root`a. W tym celu odpalamy program Narzędzia katalogowe (w OS X < 10.5 NetInfo Manager) i z menu Edycja wybieramy Włącz użytkownika Root

Teraz musimy ustawić ścieżkę dostępu do plików XAMPP`a. W Terminalu wpisujemy

 open .bash_profile

Jeżeli dostaniemy komunikat, że plik nie istnieje wpisujemy:

 
touch .bash_profile 
open .bash_profile 
 

Otworzy się TextEdit. Wpisujemy w nim:

 
PATH=/Applications/xampp/xamppfiles:/Applications/xampp/xamppfiles/bin:$PATH 
export PATH 
 

Następnie jako root (korzystamy z polecenia "su") w Terminalu wpisujemy:

mampp

Jeżeli wszystko jest ok pokaże nam się lista dostępnych poleceń. Aby uruchomić serwer wpisujemy:

 mampp start

Należy pamiętać, że wszystkie operacje wymagają zalogowania jako root.

Ostatnią czynnością jest edycja pliku httpd.conf (/Applications/xampp/etc/httpd.conf). Zamieniamy linijkę (u mnie na nieedytowanym pliku 227)

AllowOverride AuthConfig

na:

AllowOverride All

Bez tego najprawdopodobniej przy próbie uruchomienia projektu symfony dostaniemy error 500

Teraz pozostaje tylko wykonać instalację Symfony poprzez PEAR

Mam nadzieje, iż powyższy opis jest dość łopatologiczny jednak gdyby ktoś miał problemy to proszę śmiało pisać.

Dodaj komentarz

[jQuery] Wybór kategorii jak na allegro

28 grudnia 2007

Podczas pracy nad pewnym projektem potrzebowałem wyboru kategorii tak jak na allegro przy dodawaniu produktu. Szukałem, szukałem, coś tam znalazłem ale mi się nie podobało. Stwierdziłem, że sam to napiszę, wykorzystując do tego bibliotekę jQuery.

Ogólne założenia:

  • Na początku jedna kolumna z głównymi kategoriami
  • Po kliknięciu na pozycję usunięcie wszystkich kolumn na prawo
  • Ajaxowe sprawdzenie czy dana kategoria posiada podkategorie
    • Jeśli tak - wygenerować kolejną kolumnę z listą podkategorii
    • Jeśli nie - przekazać id kategorii do inputa
  • Możliwość zaznaczenia na początku która kategoria jest wybrana i pokazanie ścieżki kategorii nadrzędnych
  • Możliwość wyboru kategorii poprzez wpisanie jej id lub kliknięcie w button
Więcej... 17 komentarzy

List do św. Mikołaja twórców PHP

27 grudnia 2007

PHP w wersji 5 już na dobre zadomowiło się na hostingach i naszych domowych (firmowych) stacjach roboczych. Wprowadziło sporo nowości w stosunku do PHP4, no ale ja nie o tym.

Jak wiadomo zbliża się powoli PHP6, ma przynieść trochę nowego - czy lepiej to się okaże. Ja chce się skupić na to czego bym chciał w PHP ;)

Trochę bawiłem sie w C# i muszę powiedzieć, że niektóre rozwiązania tam zastosowane są całkiem wygodne.

 
string foo = "bar";
string bar = foo.Substring(...)
 
co w PHP mogłoby się przełożyć na:
 
$foo = "bar";
$bar = $foo->substring(...) // zamiast substr(..)
 

Jak dla mnie byłoby to o wiele wygodniejsze od używania tych wszystkich funkcji (gdzie każda się inaczej nazywa etc - o tym już gdzieś było). Zaraz ktoś powie, że w C# jest typizacja, że w PHP się tego nie da zrobić, że coś tam... Ja tylko teoretyzuje. Po prostu chciałbym żeby coś takiego było.

Inny ficzer zaczerpnięty z C# który mi się podoba to enkapsulacja zmiennych

 
class Foo {
  private int bar;
  public int Bar {
    get { return this.bar; }
    set { this.bar = value; }
  }
}
 

Obecnie tworzymy sami metody w stylu getFoot() czy setFoo($v) (sami albo są automatycznie generowane - propel) jednak tak byłoby chyba przejrzyściej no i wygodniej

 
// moja wersja ;)
class Foo {
  private bar;
  public Bar {
    get { return $this->bar; }
    set { $this->bar = $value; }
  }
}
 

Chciałem jeszcze napisać o tym, żeby wszystkie errory zamieniły się w Exception, ale widzę że w PHP6 fatal`e pozostaną bez zmian. Dlaczego? Nie znalazłem wyjaśnienia. (Jedyna to chyba takie co zrobić w przypadku Unhandled Exception)

Na razie to chyba tyle. Reszta moich życzeń ma być wprowadzona w PHP6 więc nie będę się tu rozwodził na ich temat ;)

4 komentarze

[Symfony] sfThumbnail w backendzie

25 grudnia 2007

Wpis przeleżał trochę jako szkic, a właśnie robie małe porządki więc publikuję ;)

W dzisiejszym odcinku będzie o wykorzystaniu sfThumbnailPlugin`u do automatycznego zmniejszania uploadowanych obrazków w panelu admina.

Więcej... 5 komentarzy

[Symfony] Lepsze wykorzystanie error404

25 grudnia 2007

W dokumentacji Symfony bardzo często jest coś w stylu

 
$this->forward404Unless($object);
 

Niby proste, niby fajne, niby wygodne.
Dlaczego tylko 'niby' ?

W praktyce forwarduje to do akcji default/error404 która objawia się tym, że jest bez layoutu i z nic nie mówiącym napisem 'Not found'

Osobiście chciałbym aby aplikacja była nieco bardziej przyjazna dla użytkownika

Dobra akcja 404 powinna:

  1. Wyświetlić error pozostawiając layout (możliwość kliknięcia w menu i przejścia gdzie indziej)
  2. Wyświetlić treść błędu w zależności od tego co się stało (np 'Product not found')

Nie pozostaje nic innego jak zabrać się do pracy :)

Więcej... 4 komentarze