Indice

Pobquery

Autore: Fabio Di Matteo

Pacchetto Ultimo agg. descrizione
pobobject.php-0.1.zip 03/07/2014 soltanto classe pobObject
pobajax.php-0.1.zip 03/07/2014 soltanto classe pobAjax
spdo.php-0.1.zip 03/07/2014 soltanto classe spdo
pobquery-all-0.1.tar.gz 03/07/2014 framework intero pobQuery



Pobquery è un wrapper in PHP per la libreria Jquery. Nasce dall'esigenza di non voler “mescolare” troppo html, PHP e javascript mantenendo il codice PHP piu' elegante. La libreria gravita attorno alla classe pobObject la quale permette di manipolare gli oggetti del DOM proprio come jquery. Sono prensenti anche altre classi per creare tag generici (pobTag), elementi Form(pobEdit, pobSelect, pobCheckbox etc..), chiamate Ajax (pobAjax), interagire con moltissimi database (sPDO una classe per PDO) e gestire le autenticazioni degli utenti(Sauth, una classe per l'autenticazione di base con le sessioni).

Pobquery in azione

Form Ajax

    <form id="myform" type="post">
        nome: <input type="text" name="nome" id="nome"/><br />
        cognome: <input type="text" name="cognome" id="cognome"/><br />
        email: <input type="text" name="email" id="email"/><br />
        <input type="submit" value="invia" name="submit" />
    </form>
    <div id="outputServer"></div>
 
 
<?php
	$myAjax= new pobAjax("POST", "test-sendForm-grabber.php", "outputServer");
	$myAjax->sendForm('#myform');
?>

Form Ajax con controllo campi lato client

<form id="myform" type="post">
        nome: <input type="text" name="nome" id="nome"/><br />
        cognome: <input type="text" name="cognome" id="cognome"/><br />
        email: <input type="text" name="email" id="email"/><br />
        <input type="submit" value="invia" name="submit" />
    </form>
    <div id="outputServer"></div>
 
 
<script type="text/javascript">
 
 
       function check()
       {
			if ($('#nome').val()!='fabio')
			{
				 $('#outputServer').html("Errore, il nome deve essere 'fabio'");
				 return false;
			 }else return true;
	   }
</script>
 
<?php
	$myAjax= new pobAjax("POST", "test-sendForm-grabber.php", "outputServer");
	$myAjax->beforeSend="if (!check()) return false";
	$myAjax->sendForm('#myform');
 
?>

Selettori

Nell'esempio sottostante modificheremo il colore del div myQuadrato in verde. Come si puo' vedere la sintassi è molto simile a quella di jquery. L'unica differenza consiste soltato nell'aggiungere il parametro run se vogliamo che lo script venga scritto tra i tag <script></script. Ecco dunque:

<?php 
	pq("#myQuadrato")->css("background-color", "green", 'run');
?>

La pagina completa:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
	<!--Includo jquery -->
	<script src="../../core/jquery-1.9.1.min.js"></script>
 
	<!--Includo pobQuery -->
	<?php	include('../../core/pobObject.php'); ?>	
 
	<style>
		.quadrato {width: 150px; height: 150px; background-color: red; margin-left:200px}			
	</style>
 
	<title>Test PobQuery</title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
 
<body>
<h1 align="center">Test pobQuery  - <?php echo '(versione '.$pobQueryVersion.')';?></h1><br><br>
<div id="myQuadrato" class="quadrato"></div>
 
 
<?php 
	pq("#myQuadrato")->css("background-color", "green", 'run');
?>
</body>
</html>

Come possiamo notare in questo esempio abbiamo incluso soltato la classe pobObject.php e non tutto il progetto pobQuery .

La classe pobObject

Come gia' detto pobQuery gravita attorno alla classe pobObject .

Di seguito l'elenco dei metodi della classe:

        public  $id;
	public  $cssclass;
	public 	$style;
	public 	$simbol='#';
	public function __construct($id, $cssclass)
	public function bind($event,$function, $flag='callback')
	public function unbind($event, $flag='callback')
	public function onClick($func)
	public function setAttr($attr,$value, $flag='callback')
	public function getAttr($attr, $flag='callback')
	public function css($cssproperty, $value='', $flag='callback')
	public function getHtml()
	public function setHtml($html,$flag='callback')
	public function append($html,$flag='callback')
	public function insertAfter($target,$flag='callback')
	public function insertBefore($target,$flag='callback')
	public function addClass($class, $flag='callback')
	public function removeClass($class, $flag='callback')
	public function toggleClass($class, $flag='callback')
	public function toggle($flag='callback')
	public function show($flag='callback')
	public function hide($flag='callback')
	public function fadeIn($time,$func, $flag='callback')
	public function fadeOut($time,$func, $flag='callback')
	public function fadeToggle($time,$func, $flag='callback')
	public function slideUp($time,$func, $flag='callback')
	public function slideDown($time,$func, $flag='callback')
	public function slideToggle($time,$func, $flag='callback')
	public function animate($anim,$time, $func, $flag='callback')
	public function stop($flag='callback')
	public function clearQueue($flag='callback')
	public function remove($flag='callback')
	public function load($loadingHtml, $url,$err,$success,$flag='callback')
	public function __destruct()