Kategorien
Doctrine ORM MySQL PHP

doctrine create and drop table on the fly by orm

um in doctrine erst in der app tables anzulegen oder auch zu droppen kannst du ein yaml schema

MyTestOrm:
  tableName: my_test_table
  columns:
    id:
      type: integer(8)
      primary: true
      autoincrement: true
      unsigned: true
    title:
      type: string(255)
      notnull: true
    created_at:
      type: timestamp
      notnull: true
  indexes:
    id:
      fields: [id]
    title:
      fields: [title]

anlegen und die orms daraus generieren.
dann kannst du in deiner app die table für die orm anlegen

Doctrine::createTablesFromArray(
    array(
        'MyTestOrm'
    )
);

bzw. auch wieder droppen

$table = Doctrine_Core::getTable('MyTestOrm');
$export = new Doctrine_Export();
$export->dropTable($table->getTableName());
Kategorien
Agavi Frameworks Javascript PHP

agavi output type overwrite in action

um den output type einer agavi action auch nach dem routing zu ändern, kann man innerhalb der action den output type überschreiben.


/**
 * assume that 'html' is the standard GET output for this action
 * when this action is called via POST you want to change the output type to 'json'
 * because on error or success you want to show small messages per json instead full html
 */
    public function executeRead(AgaviRequestDataHolder $rd)
    {
        return 'Input';
    }

    public function executeWrite(AgaviRequestDataHolder $rd)
    {
        $this->getContainer()->setOutputType($this->getContext()->getController()->getOutputType('json'));
        try
        {
            // do POST stuff
        }
        catch(Exception $e)
        {
            $this->setAttribute('message', $e->getMessage());
            return 'Error';
        }
        return 'Success';
    }
Kategorien
Frameworks GIT Kohana PHP Versionierung

kohana modules – nützliche module für den täglichen gebrauch

unter dieser url findet ihr nützliche kohana module, die euch jede menge arbeit abnehmen können.

http://kohana-modules.com

Kategorien
Frameworks GIT Kohana PHP Versionierung

xgchunker – kohana 3 modul konvertiert grosse csv/xml dateien in StdClass objekte

webpiraten opensource auf github hat ein neues repo für den xgchunker als kohana 3 modul.

er konvertiert riesige csv/xml dateien in kleine chunks als StdClass objekt, um sie dann weiter zu verarbeiten.

github.com/webpiraten/xgchunker

Kategorien
Frameworks Kohana PHP

Das Kohana 3 Cheat Sheet

Kohana 3 Cheat Sheet

Kategorien
Debugging Linux MySQL PHP PhpMyAdmin Server

phpmyadmin mit ssl erzwingen

trage einfach in die config.inc.php folgendes ans ende der datei:

// am ende der config.inc.php
$cfg['ForceSSL'] = true;
Kategorien
Deployment Linux PHP Server Shell

shell do something in a while

#!/bin/bash

DONE=0
while [ $DONE -eq 0 ] 
do
    #do something and return something else than 0 when you want to exit this circle
    DONE=$?
done
Kategorien
PHP Server

rekursive php glob funktion – ordner/dateien rekursiv nach pattern filtern


protected function rGlob($pattern = '*', $flags = 0, $path = false)
{
    if (!$path)
    {
        $path = dirname($pattern).DIRECTORY_SEPARATOR;
    }

    $pattern    = basename($pattern);
    $paths      = glob($path.'*', GLOB_MARK|GLOB_ONLYDIR|GLOB_NOSORT);
    $files      = glob($path.$pattern, $flags);
    foreach ($paths as $path)
    {
        $files = array_merge($files, $this->rGlob($pattern, $flags, $path));
    }
    return $files;
}

Kategorien
Flash Javascript PHP

fusion charts – schöne flash graphen kostenlos

hier könnt ihr euch fusioncharts ansehen (und downloaden)

fusioncharts

Kategorien
Apache Deployment Lighttpd Linux OffTopic PHP Server Shell XT Commerce

ioncube php loader auf ubuntu mit lighttpd

Hier eine kurze Anleitung wie man ioncube php loader auf ubuntu mit lighty webserver installieren kann.

# in den tmp ordner wechseln
cd /tmp

# per wget loader sources holen
wget http://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

# entpacken des tar balls
tar xvfz ioncube_loaders_lin_x86.tar.gz

# verschieben des neuen ioncube ordners nach /usr/local/
mv ioncube /usr/local/

# neue aa_ioncube.ini datei in /etc/php5/cgi/conf.d/ erzeugen
vi /etc/php5/cgi/conf.d/aa_ioncube.ini

# je nach php version diese zeile in die aa_ioncube.ini
# datei schreiben und mit :wq speichern 
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so

# lighty neu starten
/etc/init.d/lighttpd restart