Piczer Opublikowano 23 Czerwca 2010 Udostępnij Opublikowano 23 Czerwca 2010 Piszę mini-bibliotekę do własnego użytku, ale przy okazji uczę się zachowywać maksymalną czytelność kodu, dlatego zwracam się do Was z pytaniem, czy jesteście w stanie "ogarnąć" poniższe API bez dokumentacji? Biblioteka służy do wyświetlania wykresów korzystając z biblioteki Google do wizualizacji (oraz w tym przypadku Google Analytics, które służą jako źródło danych). <?php AreaChartVisualizator::initializeLibrary(); $Views = new AreaChartVisualizator( "Liczba wejść" ); $Views->setChartPlaceOnDOM( "views" ); $Views->setAttribute( "width", 800 ); $Views->setAttribute( "height", 240 ); $Views->setAttribute( "legend", "bottom" ); $VisitsModel = new AreaChartModel(); $VisitsGoogleModel = new GoogleAnalyticsModel(); $VisitsModel->retrieveSource( $VisitsGoogleModel->authorize( "login", "pass" )->setTimeInterval( "2010-05-10", "2010-05-17" )->retrieveParameter( "visits" ) ); $BouncesModel = new AreaChartModel(); $BouncessGoogleModel = new GoogleAnalyticsModel(); $BouncesModel->retrieveSource( $VisitsGoogleModel->authorize( "login", "pass" )->setTimeInterval( "2010-05-10", "2010-05-17" )->retrieveParameter( "bounces" ) ); $Views->addModel( $VisitsModel, "Liczba wejść" ); $Views->addModel( $BouncesModel, "Liczba odbić" ); $Views->generateCode(); ?> Przykładowe wyniki: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 23 Czerwca 2010 Udostępnij Opublikowano 23 Czerwca 2010 Obiektowo... Ja bym dał radę ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 23 Czerwca 2010 Autor Udostępnij Opublikowano 23 Czerwca 2010 Tylko ty? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 23 Czerwca 2010 Udostępnij Opublikowano 23 Czerwca 2010 Ja nie, bo u mnie kiepsko z rosyjskim. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 23 Czerwca 2010 Autor Udostępnij Opublikowano 23 Czerwca 2010 Więc jakie proponujesz zmiany? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 23 Czerwca 2010 Udostępnij Opublikowano 23 Czerwca 2010 $VisitsModel = new AreaChartModel(); $VisitsGoogleModel = new GoogleAnalyticsModel(); Trochę mnie to deprymuje. Nie dało by się to sprowadzić do jednej instancji? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 23 Czerwca 2010 Autor Udostępnij Opublikowano 23 Czerwca 2010 Można by to ukryć w fabryce, ale po co? Te dwa obiekty spełniają kompletnie różne zadania. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 23 Czerwca 2010 Udostępnij Opublikowano 23 Czerwca 2010 Ja bym jednak zrezygnował z AreaChartModel >:D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 24 Czerwca 2010 Udostępnij Opublikowano 24 Czerwca 2010 tak czy inaczej, dokumentacja by się przydała - nie ma znaczenia czy obiektowo czy nie, czy po rusku, czy suahili - skądś tę funkcjonalność trzeba poznać i dokumentacja jest wymagana, bo nie każdy będzie chciał zaglądać w kod by sprawdzić co z czym się je :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 24 Czerwca 2010 Autor Udostępnij Opublikowano 24 Czerwca 2010 Nie chodzi mi o to, czy dokumentacja jest, czy nie ma, tylko, żeby kod był na tyle czytelny, by do niej nie zaglądać. Co do tematu, to można w sumie zrobić, że GoogleAnalyticsChartModel będzie dziedziczył po AreaChartModel... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 24 Czerwca 2010 Udostępnij Opublikowano 24 Czerwca 2010 AreaChartVisualizator::initializeLibrary(); Nie powinienem się o takie rzeczy troszczyć :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 24 Czerwca 2010 Autor Udostępnij Opublikowano 24 Czerwca 2010 To wkleja kod js dołączający bibliotekę. Jakieś lepsze pomysły? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 24 Czerwca 2010 Administratorzy Udostępnij Opublikowano 24 Czerwca 2010 a nie może być to w konstruktorze wtedy, skoro zaraz i tak tworzysz obiekt tej klasy ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 24 Czerwca 2010 Autor Udostępnij Opublikowano 24 Czerwca 2010 Przewiduję możliwość utworzenia wielu wykresów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 24 Czerwca 2010 Udostępnij Opublikowano 24 Czerwca 2010 static $lolkorfalol; if( !$lolkorfalol ) $lolkoralol = true; Chyba cuś takiego Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 25 Czerwca 2010 Autor Udostępnij Opublikowano 25 Czerwca 2010 Nikt się nie kapnął, że ten sam obiekt loguje się 2 razy? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 25 Czerwca 2010 Udostępnij Opublikowano 25 Czerwca 2010 Nie wytykałem tego, skoro sam mi o tym na GG napisałeś :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 25 Czerwca 2010 Autor Udostępnij Opublikowano 25 Czerwca 2010 Oprócz Ciebie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się