Manejo de Bases de Datos
Tan fácil como...
$db = new Db();
$sql = "SELECT * FROM orders WHERE id = :id;"
$params['id'] = 12369;
$resultSet = $db->query($sql, $params);
Tan flexible como...
$db = new Db();
$resultSet = $db->select('order_number, customer_number, order_date')
->from('orders')
->where('order_number', 12369)
->orderBy('order_date')
->get();
Tan simple como...
$db = new Db();
$orders = $db->get('orders');
Fuentes de Datos
Globales y Configuradas en Json
[
{
"connection": "default",
"name": "dsMyDataSource",
"type": "SQLQUERY",
"text": "SELECT * FROM customers WHERE email = :email",
"parameters": [
{
"name": "email",
"type": "session",
"defaultValue": "luis@espino.info"
}
]
}
]
Modelos ORM
Un "save()" y el framework hace el resto.
$customer = new Customers_model();
$customer->id = 123456;
$customer->name = "Luis Espino";
$customer->save();
Vistas
Con $variables tipo Php pasándolas como parámetros:
<h1>Hola $name!</h1>
$data["$name"] = "Luis";
View::load('viewname', $data);
Ligado a datos con atributos "data" en el HTML
<select
data-source="dsMyDataSource"
data-display-field="name"
data-value-field="id"
>
</select>
LLama a otra vista desde una vista:
<div id="tabDireccion" class="tab">
<h2>Mi dirección fiscal</h2>
<section data-view="member/address"></section>
</div>
Routing
Configuración en JSON
"routes": [
{
"method": "*",
"url": "",
"newUrl": "default"
},{
"method": "*",
"url": "privacidad",
"newUrl": "default/privacypolicy"
},{
"method": "*",
"url": "terminos",
"newUrl": "default/tos"
}
]
Paginación
Tan simple como declararla con atributos en el HTML
<table
data-source="dsactorsComboBox"
data-name="navigation"
data-pagination="true"
data-page-items="5"
data-current-page-segment="2"
data-pagination-url='https://rsphp.espino.info/test/lista'
>
<tr>
<th
data-field-type="hyperlink"
data-url-fields="actor_id,email"
data-header=""
data-text="Click Me"
data-url-format="https://rsphp.espino.info/simple/case/@actor_id/@email"
>
</th>
<th
data-field="actor_id"
data-header="Actor"
>
</th>
</tr>
</table>
Push Notifications
Pusher::send( 1, $to, $title, $message, $info );
Encriptación
$ch = new Crypt();
$result = $ch->tripleDesEncrypt("cadena");
Geolocalización
$geocoder = new Geocoder();
$result =
$geocoder->getGeoLocation ("Mi dirección");
Validaciones
$validator = new Validation();
// Adds the rules
$validator->addRule('email', 'required');
$validator->addRule('email', 'email');
Creación dinámica de HTML
$vendorsTable =
Html::dataTable($vendors, $options, true);
Registro de Eventos
Logger::debug('Mensaje de error');
Logger::debug($objecto);
Xml
// Arreglo a xml
$xml = Xml::arrayToXml( $myArray );
// Imprimir un arreglo como xml
XmlHelper::xmlResponse( $myArray );
Administración de Inputs
// GET, POST, PUT, etc, todo en Input
$name = Input::get('name');
$email = Input::get('email');
Asistente de URIs
// Obtener segmento de la url
$param = Uri::getSegment(4);
// Redirigir
Uri::redirect('http://espino.info');