yiinotes.com

Yii1.1, Symfony2, jQuery, Php, Javascript, Objective-C, ...

ftp con php? Non pensavo, ma è possibilissimo!!!

 
posted by on May 13, 2013
 

Messo così serve davvero a poco, ma può essere l'inizio di un client FTP scritto in php. Quello che succede qui, altro non è che l'upload di un file. Con qualche altro pezzetto di codice potremmo anche cercare tutti i files di un nostro progetto e magare caricarlo per interno nel server di produzione.

<?php

    $ftp_user_name = FTP_USER_NAME;
    $ftp_user_pass = FTP_PASSWORD;
    $server = FTP_SERVER;
    $source = PATH_LOCAL_FILE;
    $dest = PATH_REMOTE_FILE;
    $connection = ftp_connect($server);
    $login = ftp_login($connection, $ftp_user_name, $ftp_user_pass);
    if (!$connection || !$login) { 
    die('Connection attempt failed!');
    }
    $upload = ftp_put($connection, $dest, $source, FTP_BINARY);
    if (!$upload) {
    echo 'FTP upload failed!';
    }
    ftp_close($connection);




Tags: ftp
Permalink | Comments (0) | Last updated on May 13, 2013
 

Lo sviluppo di yii2 prosegue ...

 
posted by on May 6, 2013
 

Lo sviluppo di yii2 prosegue e la community è decisamente attiva. Ci teniamo al nostro framework. In particolare ho forkato il progetto ieri e prima di scrivere questo post ho fatto una pull request per vedere tutti gli aggiornamenti fatti. PHP5.3 inizia a comparire (con i namespace), e questo mi rende abbastanza contento (anche se non mi dispiacerebbe iniziare a vedere gli array in stile 5.4).

Migrations Per esempio è stata scritta la documentazione che riguarda le migrations. Io adoro questo strumento di lavoro. =) In Yii per creare una migration dobbiamo eseguire questo comando:

$ ./yiic migrate/create che_cosa_fa_la_migration

Questo comando creerà un file simile a questo:

class m101129_185401_create_news_table extends \yii\db\Migration
{
  public function up()
  {
    $this->db->createCommand()->createTable('tbl_news, array(
      'id' => 'pk',
      'title' => 'string NOT NULL',
      'content' => 'text',
    ))->execute();
  }
  public function down()
  {
    $this->db->createCommand()->dropTable('tbl_news')->execute();
  }
}

è una public preview Non dimentichiamoci che si tratta di una public preview. Yii2 non è assolutamente da usare in produzione. Tanto per dirne una i namespace potrebbero cambiare (come stanno facendo) senza alcun tipo di garanzia. La roadmap di yii2 non ha milestone stabili in vista. Io mi aspetto di vedere un prodotto completo nel 2014.


Tags: migration php53 namespaces
Permalink | Comments (0) | Last updated on May 6, 2013
 

yii2 is out!!!

 
posted by on May 4, 2013
 

Finalmente possiamo iniziare a giocare con la Public Preview di Yii2. Ci sono tantissime novità in questa nuova versione del framework. Tanto per cominciare, blueprint è stato soppiantato da bootstrap. Per ora si può fare ben poco ma vi lascio qualche piccola indicazione per provare subito il nostro nuovo giochino =).

clonare yii2

$ git clone git@github.com:yiisoft/yii2
Cloning into 'yii2'...
remote: Counting objects: 7147, done.
remote: Compressing objects: 100% (1698/1698), done.
remote: Total 7147 (delta 5218), reused 7142 (delta 5213)
Receiving objects: 100% (7147/7147), 1.87 MiB | 486 KiB/s, done.
Resolving deltas: 100% (5218/5218), done.

virtualhost

Per provare mi sono costruito un semplice virtualhost con lo stesso nome del repository. Ah! Non dimenticatevi di modificare anche il file /etc/hosts aggiungendo il vostro yii2. No, questo passaggio non è necessario.

<VirtualHost *:80>
    ServerAdmin admin@yourdomain.com
    ServerName yii2
    DocumentRoot /home/UTENTE/Sviluppo/yii2/app
    DirectoryIndex index.php
    <Directory /home/UTENTE/Sviluppo/yii2/app>
            AllowOverride all
    </Directory>
</VirtualHost>

Dentro app troviamo una piccola applicazione di esempio. Il suo solo scopo, in pratica, è mostrarci che le nuove applicazioni create con yii2 sono già integrate con bootstrap.

assets

La cartella assets non ha il permesso di scrittura quindi quel che ho fatto io per evitare di vedere strane eccezioni è:

$ chmod 777 -R yii2/app/assets/

conclusioni

Siamo a poche ore dal rilascio di yii2. Ancora non si può dire nulla.


Tags: yii2 bootstrap
Permalink | Comments (1) | Last updated on May 4, 2013
 

Modificare la homeUrl di Yii

 
posted by on April 23, 2013
 

Uno dei piccoli problemi nei quali ci si imbatte abbastanza spesso, è quello di modificare il redirect di un utente dopo aver effettuato il logout. In effetti, nel sito nel quale stavo operando, al logout venivo sempre ridirezionato alla rotta "/". Nel mio caso specifico la mia "/" è una splash page da mostrare solo al primo accesso dell'utente al mio sito web e la vera home é "/homepage". Così sono andato in SiteController::actionLogout(); per vedere come veniva eseguito prima il logout e poi il redirect:

/**
 * Logs out the current user and redirect to homepage.
 */
public function actionLogout()
{
  Yii::app()->user->logout();
  $this->redirect(Yii::app()->homeUrl);
}

Ci sono diversi modi di modificare il redirect, per esempio potrei semplicemente sostituire Yii::app()->homeUrl con un createUrl oppure, come ho fatto nello snippet che segue, modificare al volo il valore di homeUrl utilizzato il setter messo a disposizione da CApplication.

/**
 * Logs out the current user and redirect to homepage.
 */
public function actionLogout()
{
  Yii::app()->user->logout();
  Yii::app()->setHomeUrl('/homepage');
  $this->redirect(Yii::app()->homeUrl);
}

Trovo questa una soluzione un po' costosa visto che si tira su un intero singleton. Diciamo che si poteva fare di meglio =). Però funziona. Magari con qualche commento potrei anche decidere di arricchire questo post con dei suggerimenti.


Tags: homeUrl yii
Permalink | Comments (0) | Last updated on April 23, 2013
 

-bash: __git_ps1: command not found

 
posted by demo on March 5, 2013
 

Qualche giorno fa ho seguito questa guida che insegna ad impostare il proprio ambiente di sviluppo in OsX. Ad un certo punto però mi sono imbattuto in un guaio. Il guaio è che ad ogni singolo comando, il terminale mi mostrava sempre lo stesso messaggio:

-bash: __git_ps1: command not found

La cosa è un po' fastidiosa, ma grazie a stackoverflow ho risolto. In poche parole ho installato una versione di git-completion.bash dal master dove la funzione __git_ps1 è stata spostata in un nuovo file: git-prompt.sh.

Per risolvere il problema, bisogna scaricare lo script in questione e poi eseguirlo.

$ curl -o ~/.git-prompt.sh \
https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh
$ source ~/.git-prompt.sh

A questo punto, potremo vedere il branch corrente nel nostro prompt =)


Tags: git OsX iTerm
Permalink | Comments (0) | Last updated on March 5, 2013
 

Cambiare l'immagina della navigationBar

 
posted by demo on March 4, 2013
 
if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) {
    UIImage * image = [UIImage imageNamed:@"01_navbar_portrait.png"];
    [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}


Tags: ObjectiveC iOS
Permalink | Comments (0) | Last updated on March 4, 2013
 

Modificare la password di blog.db

 
posted by demo on March 2, 2013
 

Ciao a tutti!!! Finalmente mi sono deciso ad eliminare wordpress per ricostruire questo blog usando yii. Per non fare troppa fatica inutile, sono partito dal blog che possiamo trovare scaricando yii.

L'ho fatto per tante ragioni:

  • plugin che non funzionavano facilmente
  • poca conoscenza di wordpress
  • necessità di poter modificare quando e come volevo questo blog
  • ...

In ogni caso mi sono scontrato subito con un problema: modificare la password presente nel file sqlite blog.db.

Ebbene, ce l'ho fatta. Ora vi mostro lo snippet che ho utilizzato:

<?php $user = new User(); ?>
<?php echo crypt('yiinotes', $user->hashPassword('yiinotes')); ?>   


Tags: Yii
Permalink | Comments (1) | Last updated on March 4, 2013
 

Symfony2.2 è uscito

 
posted by demo on March 4, 2013
 

Anche se questo blog ha nel suo titolo Yii, vorrei trattare più temi. Ne ho almeno due particolarmente a cuore. Il primo di cui vi parlo è Symfony2.2. Da pochi giorni, infatti, è uscita la versione 2.2. In verità io attendo la versione 2.3 in quanto avremo a che fare con una LTS. Non vedo l'ora che arrivi il mese di maggio. In quei giorni, infatti, avremo il rilascio di Symfony2.3.


Tags: Symfony2 LTS
Permalink | Comments (0) | Last updated on March 4, 2013
 

Copyright © 2013 by SENSORARIO di Simone Gentili.