Tym razem przyszedł czas na Zend Framework w parze z OPT. Nie próbuję zintegrować wszystkich możliwych frameworków z OPT, tym razem firma zmusiła mnie do pracy z ZF mimo, że preferowałem do tej pory CI a następnie zacząłem pracę z Kohaną.
Archiwum dla lipiec, 2008
Integracja Zend Framework i OPT
AdWords API pierwszy projekt
Wbrew pozorom odpalenie pierwszego projektu w środowisku Visual Studio dla języka C# nie jest takie proste w AdWords API.
Po pierwsze należy ściągnąć przygotowany przez Google zestaw bibliotek Clients Library dl wybranego języka ( w tym przypadku dla C# i platformy .NET ). Ale na tym nie koniec. Kolejnym krokiem jest ściągnięcie pliku ICSharpCode.ShapZipLib oraz dodaniego jego referencji do projektu w VS. Oprócz tego należy jeszcze dodać referencję do System.Web.Services oraz do google-api-adwords-dotnet.
Na czas developingu oprogramowania przyda się jeszcze konto Sandbox w AdWords, wystarczy posiadać zwykłe konto na GMail – automatycznie mamy dostęp do Sandbox’a. Jeśli go nie mamy to należy założyć sobie takie konto.
Po tym możemy pisać już pierwsze programy do zarządzania kampaniami Google AdWords. Dla przykładu poniżej kod, który połączy się z Sandbox’em i wylistuje dostępne konta klientów ( domyślnie w Sandbox’ie jest takich 5 ):
Hashtable headers = new Hashtable();
headers.Add( “email”, “mail@gmail.com” );
headers.Add( “password”, “haslo” );
headers.Add( “useragent”, “C# demo” );
headers.Add( “developerToken”, “mail@gmail.com++PLN” );
headers.Add( “applicationToken”, “1234567890123456789012″ );
headers.Add( “alternateUrl”, “https://sandbox.google.com/” );
AdWordsUser user = new AdWordsUser( headers );AccountService account = ( AccountService )user.getService( “AccountService” );
String[] clientAccounts = account.getClientAccounts();Console.Out.WriteLine( “++++ Users ++++” );
foreach ( String client in clientAccounts )
{
Console.Out.WriteLine( “Client account: ” + client );
}
Dla aplikacji w Sandbox’ie applicationToken jest dowolny natomiast developerToken to adres e-mail z dołączoną domyśłną walutą ( dla Polski jest to PLN ).
Integracja Kohany i OPT
Jak pisałem w poprzednim poście – pierwsze co należało zrobić z Kohaną to zintegrować ją z systemem szablonów OPT.
Poszło wszystko dość gładko, już przy pierwszym podejściu. Łatwo bo miałem już zintegrowane CI z OPT, w Kohanie było analogicznie. Więc krok po kroku:
- Stworzyć katalog application/libraries/opt i wgrać do niego pliki OPT
- Stworzyć plik Opt.php i umieścić w nim kod:
defined(‘SYSPATH’) or die(‘No direct script access.’);
define( ‘OPT_DIR’, ‘application/libraries/opt/’ );
require_once( OPT_DIR . ‘opt.class.php’ );
class OPT extends optClass
{
public function __construct()
{
$this -> root = ‘application/views/’;
$this -> compile = ‘application/views_c/’;
$this -> cache = ‘application/cache/’;
$this -> plugins = OPT_DIR . ‘plugins/’;
$this -> charset = ‘UTF-8′;
$this -> httpHeaders( OPT_HTML );
}
}; - Stworzyć katalog application/views_c i nadać mu chmod 0777
- Można w application/config/config.php dodać autoładowanie biblioteki:
$config['preload'] = array
(
‘libraries’ => ‘Opt’,
‘models’ => ”,
);
Teraz w kodzie kontrolera można umieścić przykładowy kod:
//$this->Opt = new Opt(); // jeśli nie ma autoładowania biblioteki Opt
$this->Opt->assign( ‘title’, ‘My welcome to Kohana!’ );
$this->Opt->parse( ‘welcome.tpl’ );
Oczywiście szablon welcome.tpl musi istnieć i mieć zmienną $title, aby można było zobaczyć efekt. I to tyle, można się cieszyć tandemem Kohana + OPT
Kohana się rozwija
Od mojego ostatniego wpisu o Kohanie musiałem wykonać jeszcze jeden projekt w CodeIgniterze ( mam nadzieję, że ostatni ). Teraz już zasiadam do Kohany – widzę, że się rozwija i framework i dokumentacja. Zaimplementowane jest też ORM – ta część wiedzy jeszcze przede mną, nigdy z tego nie korzystałem, ale zdaje się, że w Symfony jest to powszechne ‘zjawisko’.
Kohana pojawiła się już w wersji 2.2 – liczę, że jej intergracja z systemem szablonów OPT pójdzie tak zgrabnie jak w CI.
Hanselminutes
Scott Hansel od 2 lat wypuszcza podcasty o tematyce nowoczesnych technologi, gadżetów oraz .NET i programowania. Forma wywiadów, około 30-minutowych. Polecam posłuchać choć część. Scott mówi dość szybko, ale na szczęście są transkrypcje tych wywiadów.
Archiwum podcastów: http://hanselminutes.com/archives.aspx
Przyszedł czas na kolejne generatory liczb pseudolosowych. Znowu pojawi się nieco kodu oraz ogólnego wyjaśnienia pt. “Why?” ( i odpowiedzią nie będzie “For money” ;) ).
Więc do kodu start..
Czytaj dalej ‘Generatory liczb pseudolosowych cz.3′