Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM    Subskrybuj kanał ATOM dla tagu framework Kanał ATOM (tag: framework)

Autor wpisu: Tomasz Kowalczyk, dodany: 19.04.2011 23:24, tagi: symfony, framework, php

Witajcie. Programuję ostatnio we frameworku symfony i ze względu na sporą przerwę trafiam na różne problemy związane ze białymi plamami wiedzy na temat funkcjonowania pewnych małych trybików, bez których jednak ciężko byłoby ogarnąć działanie całego projektu. Niedawno niemałą zagwozdkę dał mi komponent sfWidgetFormI18nDate, który jest odpowiedzialny za wyświetlanie elementu formularza pozwalającego na wprowadzenie daty, a [...]

Autor wpisu: Tomasz Kowalczyk, dodany: 08.04.2011 18:46, tagi: symfony, framework, php

Realizuję w tym momencie bardzo przyjemny projekt - przyjemny dlatego, że powstaje "od zera" i mam możliwość wyboru narzędzi, w jakich będę go tworzył. Chciałem spróbować wykorzystać do tego testowany od pewnego czasu framework Symfony2, jednak idąc za radą udzieloną mi przez batmana podczas konferencji 4Developers wracam na "stare śmieci", czyli stabilną wersję symfony. Jak [...]

Autor wpisu: JoShiMa, dodany: 05.04.2011 12:04, tagi: framework

Długo się broniłam przed przejściem z kohana v2 na v3. Parę rzeczy w v2 napisałam i polubiłam ten framework. Jednak jak wszystko ma on swoje ograniczenia i słabe strony. Ostatnio zaczęłam przyglądać się wersji trzeciej, bo klient chciał koniecznie aplikację napisaną w tej wersji frameworka. Do kontraktu nie doszło, a moje przyglądanie się zaowocowało pewnymi [...]

Autor wpisu: Tomasz Kowalczyk, dodany: 05.04.2011 06:06, tagi: zend_framework, symfony, php, framework

Konferencja 4Developers to ciekawa inicjatywa wśród spotkań dla ludzi z branży IT w Polsce. Jak możemy przeczytać na stronie głównej projektu: "4Developers to konferencja dla programistów, największe przedsięwzięcie tego typu w Polsce – 400 uczestników, 4 równoległe ścieżki i ponad 30 prelegentów". Ze względu na fakt, że miałem okazję wczoraj (04.04.2011) w tym przedsięwzięciu uczestniczyć, [...]

Autor wpisu: Tomasz Kowalczyk, dodany: 01.04.2011 23:11, tagi: symfony, framework

Nowa wersja frameworka symfony - Symfony2 powinna już niedługo ukazać się w pierwszej oficjalnej, stabilnej wersji. W świat poszła wiadomość o planowanym wydaniu na koniec marca, czego niestety nie udało się osiągnąć, aczkolwiek zagraniczni blogerzy przewidują opóźnienie nie dłuższe niż 3 miesiące. Aktualną wersją, dostępną do pobrania ze strony symfony.com jest Preview Release 8 [PR8]. [...]

Autor wpisu: Michal Wachowski, dodany: 29.03.2011 00:00, tagi: framework, php

Już od jakiegoś czasu nosiłem się z napisaniem nowego frameworka. Stary, choć całkiem przyjemny w użyciu miał swoje wady. I tak od myśli do czynu, w wolnych chwilach zabrałem się do tworzenia.Część pierwsza - ogólne założenia i inne ciekawe rzeczy.

Autor wpisu: cojack, dodany: 19.03.2011 20:30, tagi: framework

Gdyby ktoś, powtarzam GDYBY, korzystał jakimś cudem z mojego FW, w co wątpię :D to napisałem sobie skrypt instalacyjny, który na podstawie plików index w katalogach data/sql/create, data/sql/delete, data/sql/insert/init, data/sql/insert/demo wykonuje odpowiednie operacje, pliki index to zwykłe pliki tekstowe, w których znajdują się względne ścieżki do plików *.sql z treścią danych do wrzucenia do bazy danych. Względność ścieżek zależy od kontekstu, przykład pliku index w katalogu data/sql/create:

#
# Dobra sprawa jest taka, że sami musimy zadbać o kolejność instalacji elementów xD
# 
user/table.sql
session/table.sql
module/table.sql
#
# Ok, mamy utworzone tabele to możemy teraz zrobić resztę, widoki i procedury
# Czasami procedury korzystają z widoków, czasami widoki z procedur, ale drugi przypadek jest częstszy
# także jedziemy widokami
#
user/view.sql
session/view.sql
module/view.sql
#
# I teraz z czystym sumieniem dorzucamy procedury
#
user/procedure.sql
session/procedure.sql
module/procedure.sql
#
# Kwestia constrainow, czasami jest taka potrzeba że nie mamy możliwości założyć constraina
# na tabele której jeszcze nie ma więc czasami trzeba dorobić kolejny plik w którym to dorzucimy ;)
# 
# np:
# 
# user/constraint.sql
#
# Jeżeli jesteśmy jacyś strasznie nerdowi to możemy sobie dorzucić komentarze
# Z tego co pamiętam to nie wiem czemu ale transakcje nie działają przy dodawaniu komentarzy oO
# 
# np:
# 
# user/comment.sql
# itd...
#

A w nim dodatkowo parę innych informacji ;)

#!/bin/bash
 
# Instalatron kufa!
my_dir="$(pwd)/data/sql";
user='';
pass='';
database='';
demo=0;
backup=0;
 
usage()
{
cat << EOF
Użycie $0 [Opcje]
 
Skrypt ten, wywołuje inne pliki tekstowe z bezpośrednim wpisem do bazy, operacja "nieodwracalna".
 
Wymagane ścieżki w katalogu:
 
$(pwd)/
 
to:
$(echo -e "\t") ./data/sql/delete/index
$(echo -e "\t") ./data/sql/create/index
$(echo -e "\t") ./data/sql/insert/demo/index
$(echo -e "\t") ./data/sql/insert/init/index
 
Należy zachować kolejność utwaiania dropowania schematów odrwotną niż przy tworzeniu gdyż zależności pomiędzy tabelami nam nie pozwolą inaczej wykonać operacji.
 
Pliki index, są to zwykłe pliki tekstowe, bez żadnego rozserzenia, przykład pliku ./data/sql/create/index:
 
user/table.sql
session/table.sql
module/table.sql
 
Gdzie odniesie jest do katalogu: ./data/sql/create/
 
Opcje:
   -b      Backup, tworzy pierw backup
   -d      Nazwa bazy danych
   -u      Nazwa użytkownika
   -p      Hasło użytkownika
   -e      (Demo) Przykładowe dane
   -h      Wyświetla pomoc
EOF
}
 
setup_sql()
{
   export PGUSER=$1
   export PGPASSWORD=$2
}
 
backup_sql()
{
   backup_file="$(pwd)/data/backup/$(date +'%F|%T').tar"
   pg_dump -F 'tar' -f "$backup_file" $1
}
 
run_sql()
{
   if [ ! -e "$1/index" ]
   then
      echo "Brak pliku $1";
      return 1;
   fi;
 
   files=$(cat "$1/index"|grep -e ^[^#]);
 
   for x in $files
   do
      if [ ! -e "$1/$x" ]
      then
         continue
      fi;
      psql --log-file "./tmp/install.log" --quiet -f "$1/$x" $2
   done
}
 
# hahaha to przez przypadek :D
while getopts "d:u:p:ebh" OPTION
do
   case $OPTION in
      b)
         backup=1
         ;;
      d)
         database=$OPTARG
         ;;
      u)
         user=$OPTARG
         ;;
      p)
         pass=$OPTARG
         ;;
      e)
         demo=1
         ;;
      h)
         usage
         exit 1
         ;;
      ?)
         usage
         exit
         ;;
   esac
done
 
#Wyczyścimy poprzednie logi z instalacji
rm -f "./tmp/install.log";
 
#Inicjalizujemy sql'a
setup_sql $user $pass;
 
if [ -n $backup ]
then
   backup_sql $database;
fi;
 
#Kasujemy
run_sql "$my_dir/delete/" $database;
 
#Tworzymy
run_sql "$my_dir/create/" $database;
 
#Inicjalizujemy
run_sql "$my_dir/insert/init/" $database;
 
#A jak chcemy demo to je dodajemy ;)
if [ -n $demo ]
then
   run_sql "$my_dir/insert/demo/" $database;
fi;

W sumie to tyle.

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.