Dzień po dniu…

Czas upływa, a my, programiści jak zwykle zapracowani. Ale dla tych bezrobotnych też znajdzie się zajęcie. Na rynku szuka ich masa pracodawców. Jak dostrzegło moje wprawne oko, branża staje się mobilna, a biura pojedynczych firm rozlokowane po świecie, tak by programista nie wiedział, gdzie trafi (czyżby obrona przed terroryzmem?) W ogłoszeniach najczęstsze miejsce pracy to Nowy Jork, bądź Tokio, natomiast rozmowa kwalifikacyjna z reguły odbywa się na Wyspach Owczych.

No, ale kto by nie chciał pracować za 5 dych z VATem, co?

Magazyn Internet

Jakby co, jest już drugi odcinek kursu w Magazynie Internet. Zapraszam. Wkrótce muszę zredagować kolejne części, a czasu coraz mniej. Nie narzekamy jednak, walczymy!

Co do kursu…

Wpadłem na pomysł, żeby 20. odcinkiem zakończyć sagę pod tytułem Praktyczne wprowadzenie. Umiemy przecież całkiem sporo, pora wypłynąć na szeroką wodę. Najprawdopodobniej więc dwudziestka podsumuje bardzo okazale to, co umiemy (szykuje się objętościowo duży artykuł). Potem zaś zaczniemy Warsztaty, bądź coś podobnego. Nazwa cały czas się kształtuje. Wyjdzie też PDFik, choć już teraz widzę, że będzie z nim bardzo dużo pracy…

PILNE: Lepper zdymisjonowany! PILNE: Kilogram koksu w Sejmie

Gazeta.pl zaczyna mnie irytować, ale w sumie ma to też swoje zalety. Może przed końcem świata dadzą PILNE: GW dotarła do tajnych dokumentów. Koniec świata już za 5 minut.

Prym wiedzie też Onet, którego graficy pojechali na ryby. Mniam.

PHP

Dzisiejszy dzień minął pod znakiem CMSowania. Robię panel administracyjny dla strony mojego ulubionego klubu Poznań FC. Na bazie tego powstanie wersja, którą może kiedyś tutaj zaprezentuje. Na razie eksperymentuje z ORM’em własnej roboty i systemem formularzy. Wygląda to smakowicie, aczkolwiek wiele rzeczy inaczej bym rozwiązał, o czym dowiaduje się stopniowo w trakcie stukania w klawisze… No, ale przyjdzie czas na wersje stable, więc nie narzekajmy. W każdym razie bardzo cieszy oko coś takiego:

$db->SetTable('cms_matches');
$db->SetID($id);
$db->SetIDName('ID_MATCH');
$db->Delete();

Albo takiego:

$form1->Add('Textarea', 'content');

if ($form1->IsSubmited())
{
	if ($form1->CheckValues())
	{
		$db->Save($form1->GetValues());
								
							
	}
}

Lub takiego:

$data = $db->GetOne();
$form1->InsertData($data);

Kwestia najnowszego projektu

Jest już domena, logo, wersja beta. Wkrótce, pojawi się tutaj więcej szczegółów, prawie na pewno w lipcu będą testy. Jestem dobrej myśli.

Ah, mówiłem już, że sezon ogórkowy w pełni?

Komentarze

1

A to ci przypadek, akurat też piszę własnego ORM. Właściwie jestem na etapie projektowania, czyli mam masę rysunków, opisów i klasy z pustymi metodami. Ale chętnie bym zobaczył jak rozwiązali to inni. :) Zwłaszcza jak zgrabnie i elegancko zrobić obsługę relacji między tabelami.

Masz może nazwy książek lub linki do stron z których korzystasz przy pisaniu własnego ORM?

2

Za 5 dych+vat zrobię wszystko! :>

3

Michale:

Generalnie ja, przy projektowaniu ORM, nie chcialem uzyskiwac kombajnu, tylko cos, co bedzie szybko i sprawnie dzialac na MySQL, dlatego też u mnie wszystko działa na jednym obiekcie, który dziedziczy po połączeniu z bazą i predefiniowanymi metodami PDO (Query, Fetch, Connect itd). Nie potrzebuje natomiast tworzyc obiektow dla roznych tabel, chociaz w przyszlosci kto wie. Wszystko wiec opiera sie o zgrabna manipulacje zapytaniami SQL. W zasadzie to taki Active_Record uproszczony jest, ORM to jednak za duze slowo. Na przykład metoda Delete:

public function Delete()
{
	if (is_array($this->mTableID))
	{
		$Where = "WHERE ".$this->mTableIDName." IN (".join (', ', $this->mTableID).")";
	}
	else
	{
		$Where = "WHERE ".$this->mTableIDName." = ".$this->mTableID."";
	}

	$sql = "DELETE FROM ".$this->mTable." $Where ;";
	$this->oDB->RunQuery($sql);
}

Jest prosto i skutecznie, aczkolwiek ciagle to rozbudowuje i z pewnoscia wszystko bedzie jeszcze bardziej obiektowe. Na razie nie musi.

Co do przykladow, ksiazek. Polecam Przejrzec Zend_Db z Zend Frameworka. Naprawde fajna sprawa. Poza tym na artykuł o propelu: klik!. Poza tym – praktyka. W zasadzie najlepiej kodowac od razu, a potem w trakcie wykonywania projektow poprawiac usterki i inne niescislosci.

Pozdrawiam

4

Dzięki wielkie. :)

Od siebie dorzucę opis ActiveRecord z frameworka PRADO. Też fajnie jest to rozwiązane.

5

Strasznie dlugo o js juz nic nie bylo…..

Cernd
6

Ten blog nie jest tylko o JS. Poza tym pisze, kiedy mam na to czas :-)

Pozdrawiam.

Dodaj komentarz

Dozwolone tagi: <blockquote>, <code>, <strong>