<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Cakery</title>
	<atom:link href="http://cakery.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://cakery.de</link>
	<description>CakePHP das MVC Framework für die Webentwicklung in PHP</description>
	<pubDate>Tue, 03 Mar 2009 10:22:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Screencasts für CakePHP</title>
		<link>http://cakery.de/category/tipps-und-tricks/screencasts-fur-cakephp/</link>
		<comments>http://cakery.de/category/tipps-und-tricks/screencasts-fur-cakephp/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 10:22:04 +0000</pubDate>
		<dc:creator>Siegfried</dc:creator>
		
		<category><![CDATA[Tipps und Tricks]]></category>

		<category><![CDATA[screencasts]]></category>

		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://cakery.de/?p=154</guid>
		<description><![CDATA[Vorgestern hatte ich mich im IRC mit David unterhalten über diverse Anfängerprobleme. Leider bin ich erst recht spät daraufgekommen, dass es für CakePHP einige Screencasts gibt, die einen schnellen Einstieg ermöglichen.
Hier die Liste der verfügbaren Screencasts. Ich musste übrigens die Quicktime Filmchen doppelt anklicken, da die sonst nicht losgelaufen sind.

Setting Up the CakePHP Console on [...]]]></description>
			<content:encoded><![CDATA[<p>Vorgestern hatte ich mich im IRC mit David unterhalten über diverse Anfängerprobleme. Leider bin ich erst recht spät daraufgekommen, dass es für CakePHP einige <a href="http://cakephp.org/screencasts">Screencasts </a>gibt, die einen schnellen Einstieg ermöglichen.<br />
Hier die Liste der verfügbaren Screencasts. Ich musste übrigens die Quicktime Filmchen doppelt anklicken, da die sonst nicht losgelaufen sind.</p>
<ul>
<li><a href="http://cakephp.org/screencasts/view/7">Setting Up the CakePHP Console on *nix</a></li>
<li><a href="http://cakephp.org/screencasts/view/6">Setting Up the CakePHP Console on Windows</a></li>
<li><a href="http://cakephp.org/screencasts/view/5">Admin Routing</a></li>
<li><a href="http://cakephp.org/screencasts/view/4">Episode 1: Using Debug Messages</a></li>
<li><a href="http://cakephp.org/screencasts/view/3">The Blog Tutorial</a></li>
<li><a href="http://cakephp.org/screencasts/view/2">Using TortoiseSVN to Sync CakePHP applications</a></li>
<li><a href="http://cakephp.org/screencasts/view/1">Building the Bakery</a></li>
</ul>
<p>Zusätzlich habe ich bei David Golding noch weitere Screencasts zu Cake gefunden, die das Angebot sicherlich gut ergänzen.</p>
<ul>
<li><a href="http://www.davidgolding.net/screencast-movies/1_setup_routines_960_600.mov">Installing and Setting Up CakePHP</a></li>
<li><a href="http://www.davidgolding.net/screencast-movies/2_installing_cake_outside_root_960_600.mov">Running Cake Outside Root</a></li>
<li><a href="http://www.davidgolding.net/screencast-movies/3_using_scaffolding_and_bake_960_600.mov">Using Scaffolding and Bake</a></li>
<li><a href="http://www.davidgolding.net/screencast-movies/4_the_almighty_this_960_600.mov">The Almighty $this</a></li>
</ul>
<p>Hab ich was vergessen oder übersehen? Dann bitte in den Kommentaren nachtragen, dann kann ich es ergänzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakery.de/category/tipps-und-tricks/screencasts-fur-cakephp/feed/</wfw:commentRss>
<enclosure url="http://www.davidgolding.net/screencast-movies/1_setup_routines_960_600.mov" length="37024995" type="video/quick" />
<enclosure url="http://www.davidgolding.net/screencast-movies/2_installing_cake_outside_root_960_600.mov" length="33537566" type="video/quick" />
<enclosure url="http://www.davidgolding.net/screencast-movies/3_using_scaffolding_and_bake_960_600.mov" length="86306548" type="video/quick" />
<enclosure url="http://www.davidgolding.net/screencast-movies/4_the_almighty_this_960_600.mov" length="74872417" type="video/quick" />
		</item>
		<item>
		<title>Buchreview: Webentwicklung mit CakePHP</title>
		<link>http://cakery.de/category/buchbesprechung/buchreview-webentwicklung-mit-cakephp/</link>
		<comments>http://cakery.de/category/buchbesprechung/buchreview-webentwicklung-mit-cakephp/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 09:47:37 +0000</pubDate>
		<dc:creator>Siegfried</dc:creator>
		
		<category><![CDATA[Buchbesprechung]]></category>

		<category><![CDATA[Buch]]></category>

		<category><![CDATA[CakePHP]]></category>

		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://cakery.de/?p=157</guid>
		<description><![CDATA[Bei der ersten CakeBar hatten Sebastian und ich das Vergnügen auch die beiden Autoren, Dirk Ammelburger und Robert Scherer von dem  Buch Webentwicklung mit CakePHP (Affiliate Link) am Stammtisch zu haben. Das Buch kam als erstes deutsches Buch über CakePHP heraus und war auch das Erkennungszeichen am Stammtisch. Es war ziemlich spannend zu hören, [...]]]></description>
			<content:encoded><![CDATA[<p>Bei der ersten <a href="http://cakebar.de">CakeBar </a>hatten Sebastian und ich das Vergnügen auch die beiden Autoren, Dirk Ammelburger und Robert Scherer von dem  Buch <a href="http://www.amazon.de/gp/product/3897218631?ie=UTF8&#038;tag=hhssieghirssoftu&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=3897218631">Webentwicklung mit CakePHP</a><img src="http://www.assoc-amazon.de/e/ir?t=hhssieghirssoftu&#038;l=as2&#038;o=3&#038;a=3897218631" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> (Affiliate Link) am Stammtisch zu haben. Das Buch kam als erstes deutsches Buch über CakePHP heraus und war auch das Erkennungszeichen am Stammtisch. Es war ziemlich spannend zu hören, wie sich das Buch entwickelt hat. Teile wie das Kapitel über ACL entstand in enger Zusammenarbeit mit Nate Abele, der ACL implementiert hat. Das Buch gibt einen guten Einstieg in CakePHP, hilft über viele Anfangshürden und beschreibt ziemlich alle Bestandteile des CakePHP Frameworks. Es wurde zwar kritisiert, dass kleine Fehler im Buch sind, aber das wird durch das von den beiden Autoren geführte <a href="http://webentwicklung-mit-cakephp.de/errata">Errata zum Buch</a> ausgeglichen und sicherlich auch in den Folgeauflagen behoben. Da ich gerade dabei war und nach Büchern über JQuery in der Google Buchsuche gestöbert habe - leider nichts mit Vorschau gefunden - bin ich aber zufällig wieder über das Cake-Buch gestolpert und dachte, dass es sicherlich für den einen oder anderen Sinn macht, mal einen Blick in das Buch zu werfen, bevor man es sich zulegt. Ich selbst nutze das Buch als Nachschlagwerk und hab es immer in der Nähe meines Schreibtisches. </p>
<p>    <script type="text/javascript">google.load("books", "0");function initialize() {var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas')); viewer.load('ISBN:3897218631');}google.setOnLoadCallback(initialize);</script></p>
<div id="viewerCanvas" style="width: 700px; height: 500px"></div>
<p>PS: haben die Münchner mal wieder Lust auf einen Stammtisch?</p>
]]></content:encoded>
			<wfw:commentRss>http://cakery.de/category/buchbesprechung/buchreview-webentwicklung-mit-cakephp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Buchtipps für jQuery</title>
		<link>http://cakery.de/category/buchbesprechung/buchtipps-fur-jquery/</link>
		<comments>http://cakery.de/category/buchbesprechung/buchtipps-fur-jquery/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 18:17:47 +0000</pubDate>
		<dc:creator>Siegfried</dc:creator>
		
		<category><![CDATA[Buchbesprechung]]></category>

		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://cakery.de/?p=140</guid>
		<description><![CDATA[Heut nur ganz kurz. Frank Helmschrott @helmi hat in seinem Blog sich ein paar Bücher zu jQuery angeschaut. Das ergänzt die Infos zu jQuery und CakePHP von gestern ganz gut.

Learning Jquery 1.3
Jquery in Action

Wem Bücher lesen gerade nicht so zusagt, der kann auch mal bei YouTube vorbeischauen und sich dort ein paar jQuery Tutorials antun. [...]]]></description>
			<content:encoded><![CDATA[<p>Heut nur ganz kurz. Frank Helmschrott <a href="http://twitter.com/helmi">@helmi</a> hat in seinem Blog sich ein paar <a href="http://helmschrott.de/blog/jquery-buecher-fuer-anfaenger">Bücher zu jQuery</a> angeschaut. Das ergänzt die Infos zu jQuery und CakePHP von gestern ganz gut.</p>
<ul>
<li>Learning Jquery 1.3</li>
<li>Jquery in Action</li>
</ul>
<p>Wem Bücher lesen gerade nicht so zusagt, der kann auch mal bei YouTube vorbeischauen und sich dort ein paar <a href="http://www.youtube.com/results?search_type=&#038;search_query=jquery&#038;aq=f">jQuery Tutorials</a> antun. Zum Teil sind die Tutorials aber noch sehr rudimentär, aber wer grad damit anfängt, findet vielleicht den einen oder anderen Tipp.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Hk5oXFtYLwE&#038;hl=de&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Hk5oXFtYLwE&#038;hl=de&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://cakery.de/category/buchbesprechung/buchtipps-fur-jquery/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CakePHP und jQuery. Tutorials und Tipps</title>
		<link>http://cakery.de/category/tipps-und-tricks/cakephp-und-jquery-tutorials-und-tipps/</link>
		<comments>http://cakery.de/category/tipps-und-tricks/cakephp-und-jquery-tutorials-und-tipps/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 19:56:48 +0000</pubDate>
		<dc:creator>Siegfried</dc:creator>
		
		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Tipps und Tricks]]></category>

		<category><![CDATA[Bakery]]></category>

		<category><![CDATA[CakePHP]]></category>

		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://cakery.de/?p=136</guid>
		<description><![CDATA[Die letzten Tage hab ich ja schon mal nachgefragt, wie es denn mit Tipps für CakePHP und jQuery ausschaut. Jetzt hab ich mir mal eine Liste von Links zusammengesucht, die ich mir für den ersten Überblick mal herausgesucht habe. Vielleicht kann ja der eine oder andere mit der Liste etwas anfangen:

JQuery autocomplete in CakePHP &#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Die letzten Tage hab ich ja schon mal nachgefragt, wie es denn mit Tipps für <a href="http://cakephp.org">CakePHP </a>und <a href="http://jquery.com/">jQuery </a>ausschaut. Jetzt hab ich mir mal eine Liste von Links zusammengesucht, die ich mir für den ersten Überblick mal herausgesucht habe. Vielleicht kann ja der eine oder andere mit der Liste etwas anfangen:</p>
<ol>
<li><a href="http://teknoid.wordpress.com/2008/05/07/jquery-autocomplete-in-cakephp/#">JQuery autocomplete in CakePHP &#8221; nuts and bolts of cakephp</a></li>
<li><a href="http://teknoid.wordpress.com/2009/01/19/jquery-in-the-cakephp-world-part-1/">JQuery in the CakePHP world (part 1 - the basics) &#8221; nuts and bolts of cakephp</a></li>
<li><a href="http://teknoid.wordpress.com/2009/01/21/jquery-in-the-cakephp-world-part-2-is-client-side-code-all-that-great/">JQuery in the CakePHP world (part 2 - is client side code all that great?) &#8221; nuts and bolts of cakephp</a></li>
<li><a href="http://bakery.cakephp.org/articles/view/jquery-helper">jQuery Helper | The Bakery, Everything CakePHP : Articles</a></li>
<li><a href="http://bakery.cakephp.org/articles/view/easy-ajax-pagination-using-jquery">Easy AJAX Pagination Using JQuery (Articles) | The Bakery, Everything CakePHP</a></li>
<li><a href="http://cakedc.com/developer/mark_story/2008/12/05/felix-geisendorfer-jquery-and-cakephp">Felix Geisendörfer - Jquery and CakePHP by Mark Story, Cake Development Corporation</a></li>
<li><a href="http://franktank.com/blog/scripts/javascript/ajax-failure-callback/">AJAX failure catchall callback with jQuery and cakePHP : AJAX failure callback with jQuery</a></li>
<li><a href="http://www.latenightpc.com/blog/archives/2008/06/09/setting-up-tinymce-with-jquery-and-cakephp-12">Setting up TinyMCE with jQuery and CakePHP 1.2 | Late Night PC</a></li>
<li><a href="http://www.hackthenet.de/weblog/123/ajax-login-mit-jquery-und-cakephp">Ajax-Login mit jQuery und CakePHP | Hackthenet-Blog</a></li>
<li><a href="http://cakebaker.42dh.com/2008/02/24/edit-in-place-with-jquery-and-cakephp/">Edit in place with JQuery and CakePHP - cakebaker</a></li>
<li><a href="http://cake-php.blogspot.com/2007/10/list-jquery-cakephp.html">Cake PHP useful tips: List, JQuery &amp; CakePHP</a></li>
<li><a href="http://marcgrabanski.com/article/cakephp-ajax-quick-save-jquery">Tutorial - CakePHP Ajax &#8220;Quick Save&#8221; with jQuery: CakePHP, jQuery</a></li>
<li><a href="http://www.slideshare.net/the_undefined/with-jquery-cakephp-to-world-domination">With jQuery &amp; CakePHP to World Domination</a></li>
<li><a href="http://code.google.com/p/jmaps/">jMaps - The jQuery Map Framework - Digital Spaghetti</a></li>
<li><a href="http://stackoverflow.com/questions/515055/jquery-ui-and-cakephp">JQuery UI and CakePHP - Stack Overflow</a></li>
<li><a href="http://www.davidgolding.net/cakephp/ajax-file-uploading-with-cake-and-jquery.html">Ajax File Uploading with Cake and jQuery</a> (ergänzt)</li>
<li><a href="http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html">jQuery example overview</a></li>
<li><a href="http://www.ngcoders.com/php/pquery-php-and-jquery">PQuery - PHP and JQuery | NGCoders - Next Generation Coders</a></li>
<li><a href="http://www.miphp.net/blog/view/cakephp_helper_for_jquery_validation_plugin">miPHP :: Blog :: Cakephp Helper For Jquery Validation Plugin</a></li>
</ol>
<p>Nicht alles nur CakePHP, aber auf jeden Fall jQuery. Wenn ihr noch weitere Links und Tipps habt, dann einfach in die Kommentare und ich werde das Ganze dann weiter ergänzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakery.de/category/tipps-und-tricks/cakephp-und-jquery-tutorials-und-tipps/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Shellprogrammierung mit CakePHP</title>
		<link>http://cakery.de/category/console/shellprogrammierung-mit-cakephp/</link>
		<comments>http://cakery.de/category/console/shellprogrammierung-mit-cakephp/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 21:49:22 +0000</pubDate>
		<dc:creator>Siegfried</dc:creator>
		
		<category><![CDATA[console]]></category>

		<category><![CDATA[cake]]></category>

		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://cakery.de/?p=132</guid>
		<description><![CDATA[Wer bei CakePHP einsteigt fängt möglicherweise mit der Generierung über die Cake Console an. CakePHP verfügt nämlich über einige Befehle, die ganze Anwendungen erzeugen können. Scaffolding, Bake und die Console sind die Stichworte und vieles davon kann im Handbuch nachgelesen werden. Lohnt auf jeden Fall.
Für eine aktuelle Anwendung habe ich ebenfalls mit Shell-Scripten gearbeitet. Allerdings [...]]]></description>
			<content:encoded><![CDATA[<p>Wer bei CakePHP einsteigt fängt möglicherweise mit der Generierung über die Cake Console an. CakePHP verfügt nämlich über einige Befehle, die ganze Anwendungen erzeugen können. Scaffolding, Bake und die Console sind die Stichworte und vieles davon kann im <a href="http://book.cakephp.org/view/620/Core-Console-Applications">Handbuch</a> nachgelesen werden. Lohnt auf jeden Fall.<br />
Für eine aktuelle Anwendung habe ich ebenfalls mit Shell-Scripten gearbeitet. Allerdings setzt es voraus, dass man die Möglichkeit hat, Cronjobs aufzusetzen. Ist also mit einfacheren Webspace-Angeboten meist nicht zu realisieren. Wenn man aber die Möglichkeit hat, lohnt es auf jeden Fall darüber nachzudenken, welche Aufgaben einer Anwendung im Hintergrund ablaufen könnten. Bei Anwendunge beispielsweise könnte der Versand der Benachrichtungsmail auch kurze Zeit später erfolgen. Somit kann die Webanwendung im Vordergrund von dieser Aufgabe entlastet werden.<br />
In Cake Shellanwendungen hat man Zugriff auf Models und kann also prima Daten aus der Datenbank auslesen und somit die Emails für den Versand entsprechend versenden, wenn die Markierungen in der Datenbank sind.</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> NotificationShell <span style="color: #000000; font-weight: bold;">extends</span> Shell
<span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$User</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">null</span>;
&nbsp;
     <span style="color: #000000; font-weight: bold;">function</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">User</span> <span style="color: #339933;">=</span> ClassRegistry<span style="color: #339933;">::</span><span style="color: #004000;">init</span><span style="color: #009900;">&#40;</span><span style="">'User'</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">User</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">find</span><span style="color: #009900;">&#40;</span><span style="">'all'</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #666666; font-style: italic;">// $data verarbeiten</span>
     <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Genauso einfach wie man Models instanzieren kann, lassen sich auch Komponenten laden und benutzen, wie beispielsweise die TwitterComponent.</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;">        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_null</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Twitter</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            App<span style="color: #339933;">::</span><span style="color: #004000;">import</span><span style="color: #009900;">&#40;</span><span style="">'Component'</span><span style="color: #339933;">,</span> <span style="">'Twitter'</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Twitter</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> TwitterComponent<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Twitter</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">username</span> <span style="color: #339933;">=</span> <span style="">'twittername'</span>;
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Twitter</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">password</span> <span style="color: #339933;">=</span> <span style="">'meinPasswort'</span>;
       <span style="color: #009900;">&#125;</span></pre></div></div>

<p>Cake Shellscripte werden dann einfach über den cake Befehl in der Form</p>
<pre>
     cake notification
</pre>
<p>aufgerufen. Das Shell-Script wird in APP/vendors/shells angelegt und bekommt den gleichen Namen wie die Shell. Also im obigen Beispiel wird die NotificationShell in der Datei notification.php angelegt. </p>
]]></content:encoded>
			<wfw:commentRss>http://cakery.de/category/console/shellprogrammierung-mit-cakephp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CakePHP und jQuery</title>
		<link>http://cakery.de/category/tipps-und-tricks/cakephp-und-jquery/</link>
		<comments>http://cakery.de/category/tipps-und-tricks/cakephp-und-jquery/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 21:59:39 +0000</pubDate>
		<dc:creator>Siegfried</dc:creator>
		
		<category><![CDATA[Tipps und Tricks]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://cakery.de/?p=130</guid>
		<description><![CDATA[Heute mal eine Frage an die jQuery-Nutzer. Bisher habe ich in allen Projekten immer Prototype genutzt, da es unter anderem ja auch von CakePHP unterstützt wird. Allerdings will ich mir in Zukunft jQuery genauer anschauen und suche nun ein paar Tipps, wie man damit am Besten einsteigen kann.
Am liebsten wären mir eigentlich gute Beispiele für [...]]]></description>
			<content:encoded><![CDATA[<p>Heute mal eine Frage an die jQuery-Nutzer. Bisher habe ich in allen Projekten immer Prototype genutzt, da es unter anderem ja auch von CakePHP unterstützt wird. Allerdings will ich mir in Zukunft jQuery genauer anschauen und suche nun ein paar Tipps, wie man damit am Besten einsteigen kann.<br />
Am liebsten wären mir eigentlich gute Beispiele für den Einsatz von jQuery in Cake Anwendungen um von Best-Practice Beispielen zu lernen. Da ich Javascript nicht im HTML-Code programmieren will, was ich auch mit Prototype schon vermeide, aber über den Ajax-Helper derzeit ja nicht untersützt wird, wären also Beispiele interessant, die es entsprechend einsetzen.</p>
<p>Any tipps ?</p>
]]></content:encoded>
			<wfw:commentRss>http://cakery.de/category/tipps-und-tricks/cakephp-und-jquery/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NoseRub installieren und testen</title>
		<link>http://cakery.de/category/anwendung/noserub-installieren-und-testen/</link>
		<comments>http://cakery.de/category/anwendung/noserub-installieren-und-testen/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 09:08:40 +0000</pubDate>
		<dc:creator>Siegfried</dc:creator>
		
		<category><![CDATA[Anwendung]]></category>

		<category><![CDATA[lifestream]]></category>

		<category><![CDATA[noserub]]></category>

		<guid isPermaLink="false">http://cakery.de/?p=127</guid>
		<description><![CDATA[NoseRub bietet ein dezentralisiertes Social Network, mit dem man den eigenen LifeStream selbst hosten kann. Da NoseRub auf CakePHP basiert, steht es schon länger bei mir auf der Todo-Liste, es endlich zu installieren. Gestern abend gelang es mir auch die erste Version ans Laufen zu bringen. NoseRub wird derzeit noch aktiv entwickelt und stellt wie [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://noserub.com">NoseRub </a>bietet ein dezentralisiertes Social Network, mit dem man den eigenen LifeStream selbst hosten kann. Da NoseRub auf CakePHP basiert, steht es schon länger bei mir auf der Todo-Liste, es endlich zu installieren. Gestern abend gelang es mir auch die erste Version ans Laufen zu bringen. NoseRub wird derzeit noch aktiv entwickelt und stellt wie so oft in diesem Bereich Beta-Software dar. Die kurze Installationsanleitung bietet zwar Anhaltspunkte, aber die CakePHP-Kenntnisse kann man ganz gut brauchen, um schnell voran zu kommen. </p>
<p>Bisher läuft alles noch im Standardmodus, sprich ich muss noch die Cronjobs aufsetzen, denn NoseRub holt im Hintergrund die externen (RSS-)Feeds ab und verarbeitet sie in seine Datenbanktabellen. Aber das muss ich mir alles noch näher anschauen. Alleine die umfangreiche routes.php Tabellen brauchen noch eine nähere Inspektion um zu sehen, wo was zu finden ist. Aber dazu bald noch mehr. </p>
<p>NoseRub hat den Vorteil, dass es eigentlich ein Protokol darstellt mit einer Beispielimplementierung, die unter anderem auch auf <a href="http://Identoo.com">Identoo.com</a> zu sehen ist. Bisher finde ich aber die Bedienung noch ein wenig verschlungen und was ich vorallem mal austesten möchte, sind neue Views für den LifeStream. </p>
]]></content:encoded>
			<wfw:commentRss>http://cakery.de/category/anwendung/noserub-installieren-und-testen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wie man User-Routes erstellen kann</title>
		<link>http://cakery.de/category/tipps-und-tricks/wie-man-user-routes-erstellen-kann/</link>
		<comments>http://cakery.de/category/tipps-und-tricks/wie-man-user-routes-erstellen-kann/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 19:38:49 +0000</pubDate>
		<dc:creator>Siegfried</dc:creator>
		
		<category><![CDATA[Tipps und Tricks]]></category>

		<category><![CDATA[Routes]]></category>

		<category><![CDATA[Users]]></category>

		<guid isPermaLink="false">http://cakery.de/?p=123</guid>
		<description><![CDATA[CakePHP bietet von Haus aus ein sehr flexibles System um URL auf Controller und Action umzusetzen. Viele URLs sehen deshalb etwas so aus:

   http://meinedomain.de/users/view/username

Der Controller ist also users>.
Die Action heißt in dem Fall view.
Der dritte Teil wird dann als Parameter in die Action des Controllers übergeben und kann einfach über

   function [...]]]></description>
			<content:encoded><![CDATA[<p>CakePHP bietet von Haus aus ein sehr flexibles System um URL auf Controller und Action umzusetzen. Viele URLs sehen deshalb etwas so aus:</p>
<pre>
   http://meinedomain.de/users/view/username
</pre>
<p>Der Controller ist also <b>users></b>.<br />
Die Action heißt in dem Fall <b>view</b>.<br />
Der dritte Teil wird dann als Parameter in die Action des Controllers übergeben und kann einfach über</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;">   <span style="color: #000000; font-weight: bold;">function</span> view<span style="color: #009900;">&#40;</span><span style="color: #000088;">$username</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>verarbeitet werden.</p>
<p>In vielen Fällen wäre es aber schöner, wenn die URL einfach so aussehen würde:</p>
<pre>
   http://meinedomain.de/username
</pre>
<p>Mit Hilfe der Klasse Routes lässt sich das auch so oder so ähnlich umsetzen. Im einfachsten Fall würde das so aussehen:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;">   Routes<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="">'/*'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="">'controller'</span><span style="color: #339933;">=&gt;</span><span style="">'users'</span><span style="color: #339933;">,</span> <span style="">'action'</span><span style="color: #339933;">=&gt;</span><span style="">'view'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>Allerdings führt das zu dem Problem, dass alle anderen Controller und Actions nicht mehr erkannt werden.<br />
Das kann man recht einfach dadurch lösen, dass man die genutzten Controller vor der oben genannten Route auflistet, was dann in etwa so aussehen würde, wenn man davon ausgeht, dass es noch einen PagesController und einen ProjectsController gibt:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;">   Routes<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="">'/pages/*'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="">'controller'</span><span style="color: #339933;">=&gt;</span><span style="">'pages'</span><span style="color: #339933;">,</span> <span style="">'action'</span><span style="color: #339933;">=&gt;</span><span style="">'display'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">// nur display</span>
   Routes<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="">'/projects'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="">'controller'</span><span style="color: #339933;">=&gt;</span><span style="">'projects'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">// alle actions</span>
   Routes<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="">'/*'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="">'controller'</span><span style="color: #339933;">=&gt;</span><span style="">'users'</span><span style="color: #339933;">,</span> <span style="">'action'</span><span style="color: #339933;">=&gt;</span><span style="">'view'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">// die Usernamen hier zuletzt abfangen.</span></pre></div></div>

<p>Vielleicht gibt es dazu ja auch noch eine geschicktere Lösung, aber damit bin ich bisher ganz gut ausgekommen und werde es in Kürze auch auf der Twitter-Anwendung <a href="http://21tweets.com">http://21tweets.com</a> einbauen.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakery.de/category/tipps-und-tricks/wie-man-user-routes-erstellen-kann/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Timeline und Twitter Search-Api-Component</title>
		<link>http://cakery.de/category/news/twitter-timeline-und-twitter-search-api-component/</link>
		<comments>http://cakery.de/category/news/twitter-timeline-und-twitter-search-api-component/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 22:59:11 +0000</pubDate>
		<dc:creator>Siegfried</dc:creator>
		
		<category><![CDATA[Component]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[Json]]></category>

		<category><![CDATA[SearchAPI]]></category>

		<category><![CDATA[timeline]]></category>

		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://cakery.de/?p=121</guid>
		<description><![CDATA[Sehr schöne Anwendung der Javascript Timeline Bibliothek zur Darstellung von CakePHP Nachrichten die auf Twitter erscheinen. 
Eine Cake Componente für die Twitter Search API habe ich vorkurzem zusammengeschrieben.

//  Twitter Search API (Json)
//
    App::import&#40;'Core', array&#40;'HttpSocket'&#41;&#41;;
    /**
     * Twitter Search
     * Documentation [...]]]></description>
			<content:encoded><![CDATA[<p>Sehr schöne <a href="http://cakealot.com/cakephp-timeline.html">Anwendung</a> der <a href="http://code.google.com/p/simile-widgets/wiki/Timeline">Javascript Timeline Bibliothek</a> zur Darstellung von CakePHP Nachrichten die auf Twitter erscheinen. </p>
<p>Eine Cake Componente für die Twitter Search API habe ich vorkurzem zusammengeschrieben.</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//  Twitter Search API (Json)</span>
<span style="color: #666666; font-style: italic;">//</span>
    App<span style="color: #339933;">::</span><span style="color: #004000;">import</span><span style="color: #009900;">&#40;</span><span style="">'Core'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="">'HttpSocket'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #0000ff; font-style: italic;">/**
     * Twitter Search
     * Documentation can be found on:
     * http://apiwiki.twitter.com/
     * http://apiwiki.twitter.com/Search+API+Documentation
     */</span>
    <span style="color: #000000; font-weight: bold;">class</span> TwitterSearchComponent <span style="color: #000000; font-weight: bold;">extends</span> Object <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$Http</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">null</span>;
        <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$apiUrl</span> <span style="color: #339933;">=</span> <span style="">'http://search.twitter.com/search.json'</span>;
&nbsp;
        <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Http</span> <span style="color: #339933;">=&amp;</span> <span style="color: #000000; font-weight: bold;">new</span> HttpSocket<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">function</span> query<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$rpp</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$params</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
                    <span style="">'q'</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span>
                    <span style="">'rpp'</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$rpp</span>
                    <span style="color: #009900;">&#41;</span>;
                <span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Http</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">apiUrl</span><span style="color: #339933;">,</span> <span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span>;
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="">'json_deconde'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #b1b100;">return</span> json_decode<span style="color: #009900;">&#40;</span><span style="color: #000088;">$response</span><span style="color: #009900;">&#41;</span>;
                <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>App<span style="color: #339933;">::</span><span style="color: #004000;">import</span><span style="color: #009900;">&#40;</span><span style="">'Vendor'</span><span style="color: #339933;">,</span> <span style="">'json'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="">'file'</span><span style="color: #339933;">=&gt;</span><span style="">'JSON.php'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #000088;">$json</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Services_JSON<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
                    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$json</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$response</span><span style="color: #009900;">&#41;</span>;
                <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">false</span>;
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://cakery.de/category/news/twitter-timeline-und-twitter-search-api-component/feed/</wfw:commentRss>
		</item>
		<item>
		<title>a, aa, am, e, h und clearCache</title>
		<link>http://cakery.de/category/tipps-und-tricks/a-aa-am-e-h-und-clearcache/</link>
		<comments>http://cakery.de/category/tipps-und-tricks/a-aa-am-e-h-und-clearcache/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 22:15:48 +0000</pubDate>
		<dc:creator>Siegfried</dc:creator>
		
		<category><![CDATA[Tipps und Tricks]]></category>

		<category><![CDATA[clearCache]]></category>

		<guid isPermaLink="false">http://cakery.de/?p=119</guid>
		<description><![CDATA[CakePHP bietet in der Datei basics.php einige sehr praktische Funktionen, auf die ein genauer Blick sich lohnt. Auslöser für mich das das Posting von teknoid über die Funktion pr() bzw. debug(), die beide ebenfalls in basics.php zu finden sind. 
Die Funktion clearCache() kann ohne Argumente aufgerufen werden und löscht alle Cache-Views, die in CACHE.DS.views enthalten [...]]]></description>
			<content:encoded><![CDATA[<p>CakePHP bietet in der Datei basics.php einige sehr praktische Funktionen, auf die ein genauer Blick sich lohnt. Auslöser für mich das das Posting von <a href="http://teknoid.wordpress.com/2009/02/09/its-a-good-idea-to-use-pr/">teknoid</a> über die Funktion pr() bzw. debug(), die beide ebenfalls in basics.php zu finden sind. </p>
<p>Die Funktion clearCache() kann ohne Argumente aufgerufen werden und löscht alle Cache-Views, die in CACHE.DS.views enthalten sind. Zusätzlich bietet clearCache die folgenden Parameter, mit denen sich recht individuell Dateien aus dem Cache löschen lassen.</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> clearCache<span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$type</span> <span style="color: #339933;">=</span> <span style="">'views'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ext</span> <span style="color: #339933;">=</span> <span style="">'.php'</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>Mehr dazu in der <a href="http://api.cakephp.org/file/basics.php#function-clearCache">Doku</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakery.de/category/tipps-und-tricks/a-aa-am-e-h-und-clearcache/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
