<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>php5 &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/php5/</link>
	<description>Feed of posts on WordPress.com tagged "php5"</description>
	<pubDate>Sat, 05 Dec 2009 13:53:34 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[PHP5 tips]]></title>
<link>http://sadhas.wordpress.com/2009/12/01/php5-tips/</link>
<pubDate>Tue, 01 Dec 2009 13:23:25 +0000</pubDate>
<dc:creator>Sathasivam</dc:creator>
<guid>http://sadhas.wordpress.com/2009/12/01/php5-tips/</guid>
<description><![CDATA[﻿﻿ History of PHP • Rasmus Lerdorf(1995) • PHP ( Personal Homepage) • PHP3 ( 1998) • Zeev suraski an]]></description>
<content:encoded><![CDATA[﻿﻿ History of PHP • Rasmus Lerdorf(1995) • PHP ( Personal Homepage) • PHP3 ( 1998) • Zeev suraski an]]></content:encoded>
</item>
<item>
<title><![CDATA[Primeros pasos con NetBeans 6.8 beta, PHP 5 y xDEBUG.]]></title>
<link>http://jtagua.wordpress.com/2009/11/29/primeros-pasos-con-netbeans-6-8-beta-php-5-y-xdebug/</link>
<pubDate>Sun, 29 Nov 2009 17:15:01 +0000</pubDate>
<dc:creator>Jtagua</dc:creator>
<guid>http://jtagua.wordpress.com/2009/11/29/primeros-pasos-con-netbeans-6-8-beta-php-5-y-xdebug/</guid>
<description><![CDATA[En esta entrada, y después de instalar NetBeans 6.8 beta, vamos a probar su funcionamiento con PHP y]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>En esta entrada, y después de instalar NetBeans 6.8 beta, vamos a probar su funcionamiento con PHP y XDEBUG.</p>
<p>La instalación de NetBeans 6.8 beta es similar a NetBeans 6.7 en los tres sistemas operativos (Mac, Linux y Windows).</p>
<p>Véase  la entrada correspondiente. (<a href="http://jtagua.wordpress.com/wp-admin/post.php?action=edit&#38;post=430">JDK + Netbeans 6.7 separados en Windows</a>) en este este blog.</p>
<p>Por otro lado y en lo que relacionado con PHP 5, tengo montado <a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a> 1.7.21 para Windows que instala de forma facil y simultánea</p>
<ul>
<li>Apache 2.2.12 (IPv6 enabled) + OpenSSL 0.9.8k</li>
<li>MySQL 5.1.37 + PBXT engine</li>
<li>PHP 5.3.0</li>
<li>phpMyAdmin 3.2.0.1</li>
<li>Webalizer 2.21-02 + GeoIP lite</li>
<li>FileZilla FTP Server 0.9.32</li>
<li>msmtp 1.4.17</li>
</ul>
<p>Una vez instalados XAMPP y  NetBeans 6.8, fijaremos determinadas caracteristicas del entorno para trabajar con PHP y xDEBUG.</p>
<p>En primer lugar, si en una sesión de NetBeans 6.8  hacemos Herramientas, Opciones y seleccionamos la pestaña PHP, aparecerá</p>
<p style="text-align:center;"><a rel="attachment wp-att-659" href="http://jtagua.wordpress.com/2009/11/29/primeros-pasos-con-netbeans-6-8-beta-php-5-y-xdebug/image1-12/"><img class="size-medium wp-image-659 aligncenter" title="Image1" src="http://jtagua.wordpress.com/files/2009/11/image13.jpg?w=558" alt="" width="558" height="480" /></a></p>
<p><!--more--></p>
<p>Desde esta pantalla tendremos que indicar dónde se encuentra el intérprete de PHP5 al IDE, en mi caso es la carpeta C:\xampp\php</p>
<p>por ello,</p>
<p style="text-align:center;"><a rel="attachment wp-att-660" href="http://jtagua.wordpress.com/2009/11/29/primeros-pasos-con-netbeans-6-8-beta-php-5-y-xdebug/image1jpg/"><img class="size-medium wp-image-660 aligncenter" title="Image1jpg" src="http://jtagua.wordpress.com/files/2009/11/image1jpg.jpg?w=640" alt="" width="640" height="448" /></a></p>
<p>Ahora, en el supuesto de tener instalado XAMPP, detenemos los servicios desde el panel de control, localizamos el fichero php.ini en c:/wampp/php/ y lo abrimos.</p>
<p>Buscamos</p>
<p style="text-align:center;"><strong>zend_extension = &#8220;C:\xampp\php\ext\php_xdebug.dll&#8221;</strong></p>
<p>y descomentamos. Habría que decir aquí que la versión de la librería xdebug.dll que incorpora el paquete de php con XAMPP funciona perfectamente. Cabría sin embargo ir a <a href="http://xdebug.org/">xdebug</a> y descargar la versión mas actualizada. Y finalmente, sustituir una por otra, pero de momento vamos a utilizar php_xdebug.dll por defecto.</p>
<p>Buscamos y descomentamos o modificamos las líneas que sigue a los valores en ella indicados:</p>
<p style="text-align:center;"><strong>xdebug.profiler_output_dir = &#8220;C:\xampp\tmp&#8221;</strong></p>
<p style="text-align:center;"><strong>xdebug.profiler_enable = 1</strong></p>
<p style="text-align:center;"><strong>xdebug.remote_handler = &#8220;dbgp&#8221;</strong></p>
<p style="text-align:center;"><strong>xdebug.remote_host = &#8220;localhost&#8221;</strong></p>
<p style="text-align:center;"><strong>xdebug.remote_port = 9000</strong></p>
<p style="text-align:center;"><strong>xdebug.remote_enable = &#8220;On&#8221;</strong></p>
<p>y finalmente, descomentamos</p>
<p style="text-align:center;"><strong>display_errors = On</strong></p>
<p style="text-align:left;">Cerramos ahora<strong> php.ini </strong>salvándolo, e iniciamos xampp.<strong> </strong></p>
<p style="text-align:left;">Si ahora hacemos &#8220;Admin&#8221; desde el panel de control de XAMPP y luego phpinfo() comprobaremos que ya está montado el módulo xdebug.</p>
<p style="text-align:center;"><a rel="attachment wp-att-683" href="http://jtagua.wordpress.com/2009/11/29/primeros-pasos-con-netbeans-6-8-beta-php-5-y-xdebug/image3-10/"><img class="size-medium wp-image-683 aligncenter" title="Image3" src="http://jtagua.wordpress.com/files/2009/11/image3.jpg?w=640" alt="" width="640" height="215" /></a></p>
<p style="text-align:left;"><strong><br />
</strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[title]]></title>
<link>http://scriptforall.wordpress.com/2009/11/17/title-28/</link>
<pubDate>Tue, 17 Nov 2009 10:20:45 +0000</pubDate>
<dc:creator>kostland</dc:creator>
<guid>http://scriptforall.wordpress.com/2009/11/17/title-28/</guid>
<description><![CDATA[HDS muscle its tte of rseau indirect id=&#8221;; talkbackform&#8221;; &gt;; Your comment You N `]]></description>
<content:encoded><![CDATA[HDS muscle its tte of rseau indirect id=&#8221;; talkbackform&#8221;; &gt;; Your comment You N `]]></content:encoded>
</item>
<item>
<title><![CDATA[MySQL Improved Extension (mysqli)]]></title>
<link>http://sadhas.wordpress.com/2009/11/17/mysql-improved-extension-mysqli/</link>
<pubDate>Tue, 17 Nov 2009 07:41:07 +0000</pubDate>
<dc:creator>Sathasivam</dc:creator>
<guid>http://sadhas.wordpress.com/2009/11/17/mysql-improved-extension-mysqli/</guid>
<description><![CDATA[Overview This section provides an introduction to the options available to you when developing a PHP]]></description>
<content:encoded><![CDATA[Overview This section provides an introduction to the options available to you when developing a PHP]]></content:encoded>
</item>
<item>
<title><![CDATA[PHP5 new features]]></title>
<link>http://sadhas.wordpress.com/2009/11/17/php5-new-features/</link>
<pubDate>Tue, 17 Nov 2009 07:17:25 +0000</pubDate>
<dc:creator>Sathasivam</dc:creator>
<guid>http://sadhas.wordpress.com/2009/11/17/php5-new-features/</guid>
<description><![CDATA[1. PHP 5 introduces the Standard PHP Library (SPL), which provides a number of ready-made classes an]]></description>
<content:encoded><![CDATA[1. PHP 5 introduces the Standard PHP Library (SPL), which provides a number of ready-made classes an]]></content:encoded>
</item>
<item>
<title><![CDATA[title]]></title>
<link>http://scriptforall.wordpress.com/2009/11/08/title-22/</link>
<pubDate>Sun, 08 Nov 2009 09:30:18 +0000</pubDate>
<dc:creator>kostland</dc:creator>
<guid>http://scriptforall.wordpress.com/2009/11/08/title-22/</guid>
<description><![CDATA[Tetris fte its 25 years &#8211; Actualits &#8211; ZDNet. Fr Plays vid&eacute; O of No&euml; L Active]]></description>
<content:encoded><![CDATA[Tetris fte its 25 years &#8211; Actualits &#8211; ZDNet. Fr Plays vid&eacute; O of No&euml; L Active]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows Server 2003'e Veda (I)]]></title>
<link>http://alkankoray.wordpress.com/2009/11/05/windows-server-2003e-veda-i/</link>
<pubDate>Thu, 05 Nov 2009 09:35:51 +0000</pubDate>
<dc:creator>Koray</dc:creator>
<guid>http://alkankoray.wordpress.com/2009/11/05/windows-server-2003e-veda-i/</guid>
<description><![CDATA[Uzun suredir Windows Server 2003 isletim sistemi uzerinde barindirdigim IIS&#8216;den ASP.NET ve Fas]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Uzun suredir <strong>Windows Server 2003</strong> isletim sistemi uzerinde barindirdigim <strong>IIS</strong>&#8216;den <strong>ASP.NET</strong> ve <strong>FastCGI ile PHP</strong> destegi veren server&#8217;imi tamamen <strong>Ubuntu Server</strong>&#8216;a tasimaya karar verdim. <strong>Apache2, PHP5 ve MySQL</strong> kullaniyor olacagim. Bunun temel nedenlerinden birkaci lisans sorunu ve Linux&#8217;un terminal konusunda Windows&#8217;tan cok daha ustun olmasi, dolayisiyla bana <strong>PDA</strong>&#8216;den bile server&#8217;imi yonetme olanagini saglamasi.</p>
<p>Oncelikle dun (<em>Kasim 4 2009</em>) su anki server&#8217;imi ve barindirdigim sistemi/siteleri hicbir sekilde etkilemeyecek sekilde ikinci bir bilgisayara <em>Ubuntu Linux</em> yukledim, <em>Apache, PHP ve MySQL</em> calisir durumda. Simdilik detayli konfigurasyonlarla ugrasiyorum, <em>FTP kurulumu, VirtualHost</em> konulari gibi.</p>
<p><strong><span style="text-decoration:underline;">→ Ilk Izlenimler</span></strong></p>
<p><img class="size-full wp-image-135 alignright" title="Mac OS Terminal" src="http://alkankoray.wordpress.com/files/2009/11/windowsserver2003e_veda.png" alt="Mac OS Terminal" width="313" height="135" />En cok hosuma giden ozellik <strong>SSH</strong> kullanarak sistemdeki her seyi Broadband bir internet baglantisi olmasina gerek kalmadan kontrol edebilmem. Kampus kutuphanesinden son derece hizli bir sekilde terminal&#8217;den konfigurasyon yapiyorum, inanilmaz.</p>
<p>Microsoft IIS&#8217;ten aliskin oldugum <em>Start&#62;Control Panel&#62;Administrative Tools&#62;Internet Information Systems</em> gibi tanimlar cok uzak. Ubuntu Server 9.10 varsayilan olarak <strong>GUI</strong>&#8217;siz geldigi icin her seyi simdilik terminal&#8217;den yapmak zorundayim.</p>
<p>Zorlanmadim denemez. Bir gundur <strong>FTP server icin virtual kullanicilar</strong> yaratmaya calisiyorum. Tabi ki onca artinin yaninda eksilerinin de olmasini bekliyordum ancak bu kadar fazla sorunla karsilasacagimi tahmin etmiyordum!</p>
<p>Simdilik bu kadar, kurulumu yaptiktan sonra 1 ay kadar ikinci server&#8217;imi deneme icin acik birakacagim, bu surec sonunda herhangi buyuk bir problemle karsilasmazsam, su anki kullandigim ana server&#8217;i tamamen Ubuntu&#8217;ya adayacagim.</p>
<p>Benim gibi <em>Microsoft .NET</em> ile yasamini gecirmis biri icin inanilmaz bir adim olacak.</p>
<p>Gelismeleri yazmaya devam edecegim.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Criando e utilizando uma classe básica]]></title>
<link>http://dotinfo.wordpress.com/2009/11/01/criando-e-utilizando-uma-classe-basica/</link>
<pubDate>Sun, 01 Nov 2009 17:19:13 +0000</pubDate>
<dc:creator>Everton da Rosa</dc:creator>
<guid>http://dotinfo.wordpress.com/2009/11/01/criando-e-utilizando-uma-classe-basica/</guid>
<description><![CDATA[Este artigo mostra bem claramente a construção de uma classe em PHP5, esta classe visa construir um ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Este artigo mostra bem claramente a construção de uma classe em PHP5, esta classe visa construir um componente txt para PHP5, lembre-se que esta é uma classe básica, que de início parece desnecessário construí-la, pois é bem mais fácil faze-lá diretamente em HTML, todavia esta classe servirá de base para classes mais complexas. O seja, não se preocupe com a utilidade da classe agora e sim no seu funcionamento.</p>
<p>Uma classe é algo simples, entenda melhor sobre Orientação a Objeto na sessão POO deste site, pois aqui já partiremos para a construção de uma classe em PHP5 pulando os conceitos básicos sobre o assunto.</p>
<p>Para começar crie duas pastas, uma na raíz do site com o nome &#8220;classes&#8221;, esta pasta conterá todas as suas classes, é so por organização mesmo, mas faça, pois quanto mais organizado for, mais fácil será localizar as classes que criaremos, que não serão poucas.</p>
<p>Crie uma segunda pasta com o nome &#8220;html&#8221; dentro da pasta classes, dentro desta pasta colocaremos nossas classes básicas de html, não se preocupe, depois a gente vai entender melhor isso.</p>
<p>Pronto, com as pastas feitas, criaremos aqui uma página chamada classe_compTxt.php e salvaremos dentro da pasta /classes/html/.</p>
<p>E vamos ao código da página:</p>
<p>&#60;?php</p>
<p>//Classe CompTxt &#8211; escreve texto em html.</p>
<p>// aqui nos começamos nossa classe<br />
class compTxt{</p>
<p>/*Estes são os atributos da classe, notem que os atributos são precedidos da palavra &#8220;private&#8221;, isto significa que esses atributos só serão acessados pela própria classe, ou seja, não será possível acessá-los de outro lugar a não ser esta classe, fique calmo você entenderá melhor mais adiante. */</p>
<p>private $face;<br />
private $size;<br />
private $color;<br />
private $negrito;<br />
private $texto;</p>
<p>/*Este Método é chamado de construtor, pois ele é executado quando se instancia esta classe, ou seja, podemos realizar várias ações quando a classe for instanciada, basta colocar os códigos aqui e pronto. */</p>
<p>public function compTxt(){</p>
<p>}</p>
<p>/* Aqui é que resolvemos o problema de se alcançar os atributos da classe, notem para se modificar o conteúdo dos atributos usa-se o método set, e para acessar o conteúdo usa-se o método get, então dessa forma só acessa-se os atributos da classe pela própria classe, os métodos get e set ficam disponíveis para todos, criando assim um acesso controlado aos atributos. */</p>
<p>public function set_face($Vface){<br />
$this-&#62;face = $Vface;<br />
}<br />
public function get_face(){<br />
return $this-&#62;face;<br />
}</p>
<p>public function set_size($Vsize){<br />
$this-&#62;size = $Vsize;<br />
}<br />
public function get_size(){<br />
return $this-&#62;size;<br />
}</p>
<p>public function set_color($Vcolor){<br />
$this-&#62;color = $Vcolor;<br />
}<br />
public function get_color(){<br />
return $this-&#62;color;<br />
}</p>
<p>public function set_negrito($Vnegrito){<br />
$this-&#62;negrito = $Vnegrito;<br />
}<br />
public function get_negrito(){<br />
return $this-&#62;negrito;<br />
}</p>
<p>public function set_texto($Vtexto){<br />
$this-&#62;texto = $Vtexto;<br />
}<br />
public function get_texto(){<br />
return $this-&#62;texto;<br />
}</p>
<p>/* Este método é que realmente cria o html que nós queremos, e é muito simples mesmo, notem que o texto será formatado na criação. */</p>
<p>public function cria(){<br />
echo &#8220;&#60;font face=&#8217;$this-&#62;face&#8217; size=&#8217;$this-&#62;size&#8217; color=&#8217;$this-&#62;color&#8217;&#62;&#8221;;<br />
if ($this-&#62;negrito == &#8220;true&#8221; or $this-&#62;negrito == &#8220;True&#8221;){<br />
echo &#8220;&#60;b&#62;&#8221;;<br />
}<br />
//escreve o texto<br />
echo $this-&#62;texto;<br />
if ($this-&#62;negrito){<br />
echo &#8220;&#60;/b&#62;&#8221;;<br />
}<br />
echo &#8220;&#60;/font&#62;&#8221;;<br />
}<br />
}<br />
?&#62;</p>
<p>Pronto, nossa classe está pronta, agora nós criaremos uma instância desta classe, ou seja um objeto.</p>
<p>Na raíz do site crie agora uma página com o nome estudoTxt.php.</p>
<p>E vamos ao código:</p>
<p>&#60;?php<br />
//inclui a classe que criamos.<br />
include_once(&#8220;classes/html/classe_compTxt.php&#8221;);<br />
//instanciaremos nosso objeto<br />
$txt = new compTxt();</p>
<p>//vamos setar os atributos do objeto<br />
$txt-&#62;set_face(&#8220;verdana&#8221;);<br />
$txt-&#62;set_size(&#8220;2&#8243;);<br />
$txt-&#62;set_color(&#8220;Blue&#8221;);<br />
$txt-&#62;set_negrito(true);<br />
$txt-&#62;set_face(&#8220;Minha primeira classe básica em php5&#8243;);<br />
// agora vamos criar o texto<br />
$txt-&#62;cria();<br />
?&#62;</p>
<p>Está pronto, notem que foi bem mais trabalhoso do que criar o html, mas notem também que nosso objeto nos permitiu construir um texto em html sem escrever nada em html e nem intercalar código html com php, ficou apenas o código em php. Mais pra frente essa classe será muito importante para criação de classe bem mais complexas.</p>
<p>Bem, continuaremos falando sobre isso depois, quando acabarmos esse estudo você será capaz de construir páginas muito complexas com o uso de Orientação a Objeto, ficando assim muito simples e rápido, acredite!</p>
<p>&#160;</p>
<p>Fonte: <a href="http://codigofonte.uol.com.br/artigo/php/criando-e-utilizando-uma-classe-basica">Código Fonte</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Twitter Widget Pro]]></title>
<link>http://wptopsites.wordpress.com/2009/10/31/twitter-widget-pro/</link>
<pubDate>Sat, 31 Oct 2009 01:25:17 +0000</pubDate>
<dc:creator>medika</dc:creator>
<guid>http://wptopsites.wordpress.com/2009/10/31/twitter-widget-pro/</guid>
<description><![CDATA[Author: Aaron D. Campbell A widget that properly handles twitter feeds, including @username, #hashta]]></description>
<content:encoded><![CDATA[Author: Aaron D. Campbell A widget that properly handles twitter feeds, including @username, #hashta]]></content:encoded>
</item>
<item>
<title><![CDATA[Kohana::Auth Um exemplo de login.]]></title>
<link>http://from1986.wordpress.com/2009/10/27/kohanaauth-um-exemplo-de-login/</link>
<pubDate>Tue, 27 Oct 2009 17:46:04 +0000</pubDate>
<dc:creator>Álvaro Guimarães</dc:creator>
<guid>http://from1986.wordpress.com/2009/10/27/kohanaauth-um-exemplo-de-login/</guid>
<description><![CDATA[Segue esquema que uso pra logar usuário com Kohana Auth. Em breve postarei script completo para cont]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Segue esquema que uso pra logar usuário com Kohana Auth.<br />
Em breve postarei script completo para controle de usuário.</p>
<pre class="brush: php;">&#60;?php
class User_Controller extends Controller {

	protected $auth;
	protected $session;

	public function __construct() {
		// não se esqueça de executar o construtor da classe parent
		parent::__construct();

		// Criando e/ou pegando instancia de Auth
		$this-&#62;auth = Auth::instance();

		// Usaremos a session para nossas mensagens de erro
		$this-&#62;session = Session::instance();
	}

	public function login() {

		// se o usuário já estiver logado como admin, redireciona para user/index
		if ( $this-&#62;auth-&#62;logged_in( 'admin' ) ) {
			url::redirect( 'user' );
		} else {

			$username = $this-&#62;input-&#62;post('username');
			$password = $this-&#62;input-&#62;post('password');
			$remember = (bool) $this-&#62;input-&#62;post('remember');

			//se username estiver vazio redireciona para tela de login
			if ( empty( $username ) ) {

				url::redirect( 'login' );

			} else {

				if ( $this-&#62;auth-&#62;login( $username, $password, $remember ) ) {

					// se logou com sucesso redireciona para área protegida
					if ( $this-&#62;auth-&#62;logged_in( 'admin' ) ) {

						url::redirect( 'user' );

					} else {
						// se usuario nao tem role admin, retorna erro e faz logout
						// logout redireciona pra tela de login
						$this-&#62;session-&#62;set( 'error_msg', 'Acesso negado.' );
						$this-&#62;logout();

					}

				} else {

					// login errado, seta erro e retorna pra tela de login
					$this-&#62;session-&#62;set( 'error_msg', 'Username e/ou senha inválidos.' );
					$this-&#62;session-&#62;set( 'field_values', $this-&#62;input-&#62;post() );
					url::redirect( 'login' );

				}
			}

		}

	}
}</pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[teste]]></title>
<link>http://lauebe.wordpress.com/2009/10/23/teste/</link>
<pubDate>Fri, 23 Oct 2009 13:16:20 +0000</pubDate>
<dc:creator>lauebe</dc:creator>
<guid>http://lauebe.wordpress.com/2009/10/23/teste/</guid>
<description><![CDATA[Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the ]]></description>
<content:encoded><![CDATA[Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the ]]></content:encoded>
</item>
<item>
<title><![CDATA[ Project 2010 ambitionne to make the project management more accessible ]]></title>
<link>http://scriptforall.wordpress.com/2009/10/21/project-2010-ambitionne-to-make-the-project-management-more-accessible/</link>
<pubDate>Wed, 21 Oct 2009 19:56:04 +0000</pubDate>
<dc:creator>kostland</dc:creator>
<guid>http://scriptforall.wordpress.com/2009/10/21/project-2010-ambitionne-to-make-the-project-management-more-accessible/</guid>
<description><![CDATA[Technology &#8211; As the other products Office, Project 2010 will take again the graphical interfac]]></description>
<content:encoded><![CDATA[Technology &#8211; As the other products Office, Project 2010 will take again the graphical interfac]]></content:encoded>
</item>
<item>
<title><![CDATA[Station]]></title>
<link>http://wptopsites.wordpress.com/2009/10/16/station/</link>
<pubDate>Fri, 16 Oct 2009 16:50:37 +0000</pubDate>
<dc:creator>medika</dc:creator>
<guid>http://wptopsites.wordpress.com/2009/10/16/station/</guid>
<description><![CDATA[Author: arpowers Station theme by PageLines. CMS theme with multiple colors, 2 column layout and rig]]></description>
<content:encoded><![CDATA[Author: arpowers Station theme by PageLines. CMS theme with multiple colors, 2 column layout and rig]]></content:encoded>
</item>
<item>
<title><![CDATA[Transforming XML with XSLT in PHP]]></title>
<link>http://prabirchoudhury.wordpress.com/2009/10/15/transforming-xml-with-xslt-in-php/</link>
<pubDate>Thu, 15 Oct 2009 11:00:50 +0000</pubDate>
<dc:creator>Prabir Choudhury</dc:creator>
<guid>http://prabirchoudhury.wordpress.com/2009/10/15/transforming-xml-with-xslt-in-php/</guid>
<description><![CDATA[DOM object. DOM stands for the Document Object Model, and it&#8217;s a way of representing a documen]]></description>
<content:encoded><![CDATA[DOM object. DOM stands for the Document Object Model, and it&#8217;s a way of representing a documen]]></content:encoded>
</item>
<item>
<title><![CDATA[Linux para Produção Multimídia]]></title>
<link>http://diariodaproducao.wordpress.com/2009/10/08/linux-para-producao-multimidia/</link>
<pubDate>Thu, 08 Oct 2009 14:50:39 +0000</pubDate>
<dc:creator>rogernet</dc:creator>
<guid>http://diariodaproducao.wordpress.com/2009/10/08/linux-para-producao-multimidia/</guid>
<description><![CDATA[juntaDados 1.04r1 é uma Distribuição Linux LiveCD voltada para atividades de Produção Audiovisual em]]></description>
<content:encoded><![CDATA[juntaDados 1.04r1 é uma Distribuição Linux LiveCD voltada para atividades de Produção Audiovisual em]]></content:encoded>
</item>
<item>
<title><![CDATA[PHP Sessions]]></title>
<link>http://neilobremski.wordpress.com/2009/10/08/php-sessions/</link>
<pubDate>Thu, 08 Oct 2009 05:48:12 +0000</pubDate>
<dc:creator>Neil Obremski</dc:creator>
<guid>http://neilobremski.wordpress.com/2009/10/08/php-sessions/</guid>
<description><![CDATA[I just spent a half hour playing with PHP5&#8217;s sessions and would like to disperse some knowledg]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I just spent a half hour playing with PHP5&#8217;s sessions and would like to disperse some knowledge.  My first question &#8230;</p>
<h3>How can you check if a session has been started?</h3>
<p><strong>session_id()</strong> will return false if session_start() has not been called.  <em>However</em>, if you&#8217;ve closed the session with session_write_close() / session_commit() and then re-started it, the old ID will be there.  So except for detecting that session_start() has <em>never</em> been called, you can&#8217;t reliably tell <em>at all</em>.</p>
<h3>Are session_start() calls reference counted (pushed and popped) ?</h3>
<p>No, they aren&#8217;t ref-counted and subsequent start requests will result in warnings.  Likewise calling session_write_close() multiple times does nothing, but it also doesn&#8217;t generate a warning.  This means that unless you&#8217;re in the entry-point of a script, you shouldn&#8217;t be calling session_start() without first checking for session_id() to see if it&#8217;s been started already.  Of course, since that doesn&#8217;t always work, it&#8217;s a crap shoot!</p>
<h3>Why open and close the session manually and/or multiple times at all?</h3>
<p>In most PHP installations a session is implemented as a file.  That file is located based on the session identifier which is probably the file name itself.  So starting a session opens that file for random access (read/write) and committing it causes it to be closed.  Thus there are inherent performance issues with auto-starting sessions and simply &#8220;leaving them on and open all the time&#8221;.  Your script will close sessions when it ends, but why not open and close only if you need to read/write?  Not doing this also causes contention on the user side with sites where resources are generated by PHP.  If each request has to wait for the last to complete you effectively get a slow, serialized experience.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Pra que usar interfaces?]]></title>
<link>http://from1986.wordpress.com/2009/10/06/pra-que-usar-interfaces/</link>
<pubDate>Tue, 06 Oct 2009 12:10:50 +0000</pubDate>
<dc:creator>Álvaro Guimarães</dc:creator>
<guid>http://from1986.wordpress.com/2009/10/06/pra-que-usar-interfaces/</guid>
<description><![CDATA[Após ler alguns livros sobre PHP5, OOP e Design Patterns eu ainda não tinha encontrado uma situação ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img src="http://from1986.wordpress.com/files/2009/10/php.gif" alt="php" title="php" width="95" height="51" class="alignleft size-full wp-image-52" />Após ler alguns livros sobre PHP5, OOP e Design Patterns eu ainda não tinha encontrado uma situação em que usar interfaces ajudaria. Bom, eu acho que eu não li direito.<br />
Segue um bom modo de usar as interfaces que encontrei lendo o blog de <a href="http://brandonsavage.net">Brandon Savage</a>.</p>
<p>Interfaces são coleções de métodos abstratos. Não se pode programar nada nas interfaces, você apenas deve definir uma estrutura para os objetos que vão implementá-la e todos os seus métodos devem ser públicos. Segue um exemplo de interface:</p>
<pre class="brush: php;">interface DatabaseI
{
    public function __construct();

    public function connect();

    public function query();
}</pre>
<p>Agora veja essa classe:</p>
<pre class="brush: php;">class semTypeHinting
{
    public function __construct($databaseO)
    {
        if(method_exists('connect') AND method_exists('query')) {
            $databaseO-&#62;connect();
	    $databaseO-&#62;query();
        }
    }
}</pre>
<p>Nós temos que saber se os métodos estão implementados ou não antes de executá-los. É aí que as interfaces podem lhe ajudar. Veja este exemplo:</p>
<pre class="brush: php;">class comTypeHinting
{
    public function __construct(DatabaseI $databaseO)
    {
        $databaseO-&#62;connect();
	$databaseO-&#62;query();
    }
}</pre>
<p>Neste exemplo nós exigimos no construtor que o objeto passado esteja implementando DatabaseI. Como você tem de implementar as interfaces exatamente como definiu a estrutura, nós sabemos que os métodos connect() e query() estão disponíveis.</p>
<p>As interfaces ajudam quando precisamos saber se os métodos estão ou não estão implementados.</p>
<p>Se você tentar passar qualquer outra coisa que não implemente o objeto DatabaseI receberá um erro fatal:</p>
<blockquote><p>Argument 1 passed to comTypeHinting::__construct() must implement interface DatabaseI</p></blockquote>
<p>Abraço.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[ MIT dvoile a man-machine interface of the future ]]></title>
<link>http://scriptforall.wordpress.com/2009/10/03/mit-dvoile-a-man-machine-interface-of-the-future/</link>
<pubDate>Sat, 03 Oct 2009 09:43:15 +0000</pubDate>
<dc:creator>kostland</dc:creator>
<guid>http://scriptforall.wordpress.com/2009/10/03/mit-dvoile-a-man-machine-interface-of-the-future/</guid>
<description><![CDATA[Baptis Sixth Judicious (sixime direction), this project D `dvelopp with prestigious MIT (Massachusse]]></description>
<content:encoded><![CDATA[Baptis Sixth Judicious (sixime direction), this project D `dvelopp with prestigious MIT (Massachusse]]></content:encoded>
</item>
<item>
<title><![CDATA[Magento Web Services: buscando produtos]]></title>
<link>http://from1986.wordpress.com/2009/10/02/magento-web-services-buscando-produtos/</link>
<pubDate>Fri, 02 Oct 2009 18:53:54 +0000</pubDate>
<dc:creator>Álvaro Guimarães</dc:creator>
<guid>http://from1986.wordpress.com/2009/10/02/magento-web-services-buscando-produtos/</guid>
<description><![CDATA[O método mais simples de se integrar qualquer aplicação com o magento é pelo Web Service. A idéia da]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignleft size-full wp-image-40" title="magento_zend" src="http://from1986.wordpress.com/files/2009/10/untitled.jpg" alt="magento_zend" width="200" height="100" />O método mais simples de se integrar qualquer aplicação com o magento é pelo Web Service.</p>
<p>A idéia da equipe de desenvolvimento do magento é deixar todas as funcões da administração do sistema disponíveis também no Web Service. (Ih, vai demorar&#8230;)</p>
<p>Vamos a um exemplo simples, quero listar os produtos de uma categoria específica.</p>
<p>A categoria se chama &#8220;Vitrine&#8221; e está inativa no magento. Quando eu quiser que um produto apareça no nosso script, é só associá-lo a esta categoria.</p>
<p>Primeiro vamos adicionar um usuário e uma role (algo como &#8220;cargo&#8221;) no magento.</p>
<ol>
<li>Vá em System -&#62; Web Services -&#62; Roles e crie uma nova role chamada &#8220;general&#8221;.</li>
<li>Na aba &#8220;Role Resources&#8221; defina &#8220;All&#8221; no campo &#8220;Resource Access&#8221;.</li>
<li>Vá em System -&#62; Web Services -&#62; Users e adicione o usuário &#8220;magento&#8221; com a senha &#8220;123456&#8243;.</li>
<li>Na aba &#8220;User Role&#8221; associe o usuário &#8220;magento&#8221; a role &#8220;general&#8221;.</li>
</ol>
<p>Agora vamos criar um projeto do Zend.</p>
<ol>
<li>Baixe o zend em <a href="http://framework.zend.com/" target="_blank">http://framework.zend.com/</a>. Eu estou usando a versão 1.9.3.</li>
<li>Descompacte e vá para o diretório bin.</li>
<li>Execute: (zf.bat para Windows)</li>
</ol>
<pre class="brush: bash;">zf.sh create project integration</pre>
<p>Agora mova o diretório integration para o diretório root do seu servidor.</p>
<p>Pronto, vamos programar! O plano é chamar o método no Index_Controller e ter um array com os dados no index view.</p>
<p>Editando o controller em application/controllers/IndexController.php</p>
<pre class="brush: php;">&#60;?php
class IndexController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
    	// Opening a client connection
        $client = new Zend_XmlRpc_Client('http://magento/api/xmlrpc/');

		// Calling method login
		$session = $client-&#62;call('login', array('magento', '123456'));

		// call method category.assignedProducts with parameters CategoryID = 9 and StoreID = 1
		// Category 9 is 'Vitrine'
		$product_list = $client-&#62;call('call', array($session, 'category.assignedProducts', array('9','1')));

		// iterate product list to get detailed information with method product.info
		foreach( $product_list as $product ){
			$products[] = $client-&#62;call('call', array($session, 'product.info', $product['product_id']));
		}

		// ending session
		$client-&#62;call('endSession', array($session));

		// setting variable products for the view
		$this-&#62;view-&#62;products = $products;
    }
}</pre>
<p>Porque estou usando XML-RPC? porque não consegui com SOAP e não faço a mínima idéia do motivo.</p>
<p>Editando o view que está em application/views/scripts/index/index.phtml</p>
<pre class="brush: php;">&#60;pre&#62;
&#60;? print_r($this-&#62;products); ?&#62;
&#60;/pre&#62;</pre>
<p>Não se espante com a complexidade da minha view.</p>
<p>Pronto. Se você associou o produto a categoria vitrine e está buscando o id correto da categoria você terá um array com detalhes dos produtos dela.</p>
<p>Acesse integration/public no browser e verá o resultado.</p>
<p>Espero ter ajudado. Até mais.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[ Poland: a Black disparat of the dernire pub Microsoft ]]></title>
<link>http://scriptforall.wordpress.com/2009/10/02/poland-a-black-disparat-of-the-dernire-pub-microsoft/</link>
<pubDate>Fri, 02 Oct 2009 13:41:37 +0000</pubDate>
<dc:creator>kostland</dc:creator>
<guid>http://scriptforall.wordpress.com/2009/10/02/poland-a-black-disparat-of-the-dernire-pub-microsoft/</guid>
<description><![CDATA[Business &#8211; Embarrassment of the ct of Redmond which however always has jou the chart of the re]]></description>
<content:encoded><![CDATA[Business &#8211; Embarrassment of the ct of Redmond which however always has jou the chart of the re]]></content:encoded>
</item>
<item>
<title><![CDATA[A interface ArrayAccess]]></title>
<link>http://from1986.wordpress.com/2009/09/30/a-interface-arrayaccess/</link>
<pubDate>Wed, 30 Sep 2009 23:03:34 +0000</pubDate>
<dc:creator>Álvaro Guimarães</dc:creator>
<guid>http://from1986.wordpress.com/2009/09/30/a-interface-arrayaccess/</guid>
<description><![CDATA[Este é o primeiro artigo de uma série sobre a SPL que pretendo escrever. O PHP 5 vem com várias inte]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Este é o primeiro artigo de uma série sobre a SPL que pretendo escrever.</p>
<p>O PHP 5 vem com várias interfaces pré definidas. Uma delas é a ArrayAccess, que permite que você manipule um objeto como se fosse um array.</p>
<p>Definição:</p>
<pre class="brush: php;">ArrayAccess   {
 /* Methods */
 abstract public boolean offsetExists ( string $offset )
 abstract public mixed offsetGet ( string $offset )
 abstract public void offsetSet ( string $offset , string $value )
 abstract public void offsetUnset ( string $offset )
}</pre>
<ul>
<li><strong>offsetExists</strong>: checa se existe um valor para o offset e tem que retornar um valor booleano.</li>
<li><strong>offsetGet</strong>: retorna o valor do offset;</li>
<li><strong>offsetSet</strong>: seta ou sobrescreve o valor de um offset;</li>
<li><strong>offsetUnset</strong>: apaga o offset.</li>
</ul>
<p>Parece confuso não é? Tudo bem, vamos a um exemplo prático:</p>
<pre class="brush: php;">class Livros implements ArrayAccess {

 private $titulo;
 private $autor;

 public function offsetExists( $offset ) {
 return isset( $this-&#62;$offset );
 }

 public function offsetSet( $offset, $valor ) {
 $this-&#62;$offset = $valor;
 }

 public function offsetGet( $offset ) {
 return $this-&#62;$offset;
 }

 public function offsetUnset( $offset ) {
 unset( $this-&#62;$offset );
 }
} 

$livros = new Livros;

$livros['autor']		= 'Alvaro Guimaraes';
$livros['titulo']		= 'A volta de quem não foi!';

print_r( $livros );
</pre>
<p>Isso deverá imprimir:</p>
<pre>Livros Object
(
    [titulo] =&#62; A volta de quem não foi!
    [autor] =&#62; Alvaro Guimaraes
)</pre>
<h3>Referências:</h3>
<ol>
<li>http://www.phpmag.ru/2009/08/02/php5-predefined-interfaces/#array.access</li>
<li>http://www.php.net/manual/en/class.arrayaccess.php</li>
<li>http://www.phpro.org/tutorials/Introduction-to-SPL-ArrayAccess.html</li>
<li>http://mcarthurgfx.com/blog/article/arrayaccess-interface-in-php</li>
</ol>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Using PHP5 object constructors in WP Widget API]]></title>
<link>http://markjaquith.wordpress.com/2009/09/29/using-php5-object-constructors-in-wp-widget-api/</link>
<pubDate>Tue, 29 Sep 2009 17:15:40 +0000</pubDate>
<dc:creator>Mark Jaquith</dc:creator>
<guid>http://markjaquith.wordpress.com/2009/09/29/using-php5-object-constructors-in-wp-widget-api/</guid>
<description><![CDATA[Someone mentioned to me that they couldn&#8217;t use PHP5-style object constructors when using the W]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Someone mentioned to me that they couldn&#8217;t use PHP5-style object constructors when using the WP Widget API. I looked into it, and it turns out it does work. Example:</p>
<pre class="brush: php;">
class My_Widget extends WP_Widget {
	function __construct() {
		$widget_ops = array( 'classname' =&#62; 'css-class', 'description' =&#62; 'Description' );
		parent::__construct( 'css-class', 'Title', $widget_ops );
	}
	// Rest of your widget subclass goes here
}
</pre>
<p>The key is using <code>parent::__construct()</code> instead of <code>$this-&#62;WP_Widget()</code>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[All about Array in PHP ]]></title>
<link>http://akashr.wordpress.com/2009/09/29/all-about-array-in-php/</link>
<pubDate>Tue, 29 Sep 2009 06:57:19 +0000</pubDate>
<dc:creator>Mazharul Anwar</dc:creator>
<guid>http://akashr.wordpress.com/2009/09/29/all-about-array-in-php/</guid>
<description><![CDATA[1. Array creation using array() built in function for creating array in php code. $a = array ( ‘l’ =]]></description>
<content:encoded><![CDATA[1. Array creation using array() built in function for creating array in php code. $a = array ( ‘l’ =]]></content:encoded>
</item>
<item>
<title><![CDATA[Alteração no formato de data no PHP 5 -&gt; Firebird 2.0]]></title>
<link>http://troliveira.wordpress.com/2009/09/28/alteracao-no-formato-de-hora-php-5-firebird-2-0/</link>
<pubDate>Mon, 28 Sep 2009 19:30:20 +0000</pubDate>
<dc:creator>Tiago Roberto de Oliveira</dc:creator>
<guid>http://troliveira.wordpress.com/2009/09/28/alteracao-no-formato-de-hora-php-5-firebird-2-0/</guid>
<description><![CDATA[Quando migrei os dados de um servidor Debian 4 com PHP4 e Firebird 1.5 para Ubuntu 8.04 com Firebird]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Quando migrei os dados de um servidor Debian 4 com PHP4 e Firebird 1.5 para Ubuntu 8.04 com Firebird 2 tive problemas em tratar a exibição de datas retornadas do banco. Como tenho muitos scripts que dependem do formato da data antiga (Mês/Dia/Ano) resolvi alterar diretamente no servidor o formato, ao invés de alterar os vários scripts que tinha.<br />
A solução foi adicionar ao arquivo<em> /etc/php5/apache2/php.ini</em> a diretiva <em>[interbase]</em>, e colocar o novo formato de data que eu queria. Para isso executei os seguintes comandos (como usuário root):</p>
<p><code>vim /etc/php5/apache2/php.ini</code></p>
<p>E no final deste arquivo eu inseri o seguinte conteúdo:<br />
<code>[interbase]<br />
ibase.dateformat="%m/%d/%Y"</code></p>
<p>Restartei o Apache<br />
<code>/etc/init.d/apache2 restart</code></p>
<p>E pronto..tudo funcionou perfeitamente como era antes.</p>
<p>Espero que este post seja útil.</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
