1. Go to this page and download the library: Download nebiros/yasc library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
nebiros / yasc example snippets
Yasc_App::view() // Access the view object inside your function.
Yasc_App::params() // Get all route params.
Yasc_App::params("key") // Get param "key" value, also, you can specify a default value as the second argument of this static method.
Yasc_App::config() // App config.
Yasc_App::viewHelper("url") // Get a view helper, like Layout, Url, or some of your own.
Yasc_App::functionHelper("flash") // Get a function helper, like Flash, this helper is a stack of messages, errors, notices, etc.
namespace My\App;
// composer autoload.
yasc/src/Yasc.php";
$yasc = new \Yasc();
$yasc->run(__NAMESPACE__);
unset($yasc);
/**
* @GET("/")
*/
function index() {
echo "Hello world!";
}
/**
* @POST("/")
*/
function create() {
// save something.
}
/**
* @PUT("/")
*/
function update() {
// update something.
}
/**
* @DELETE("/")
*/
function destroy() {
// delete something.
}
/**
* Function to configure some yasc options. This function is optional you don't
* need to write it in your app script if you don't want.
*/
function configure() {
// * You can add a layout, a layout is just a .phtml file that represents
// the site template.
Yasc_App::config()->setLayoutScript(dirname(__FILE__) . "/layouts/default.phtml");
// * If you want to use a stream wrapper to convert markup of mostly-PHP
// templates into PHP prior to fix just leave it blank.
// ->addViewHelpersPath(dirname(__FILE__) . "/extra_views/helpers");
//
// * Function helpers, second argument is a prefix class.
// ->addFunctionHelpersPath(dirname(__FILE__) . "/extra_function_helpers");
//
// * Add models folder, second argument is a prefix class.
// ->addModelsPath(dirname(__FILE__) . "/models");
// ->addModelsPath(dirname(__FILE__) . "/extra_models/My/Model", "My_Model");
//
// * Add extra options to the configuration object, like some $mysql connection
// resource or a global flag, etc.
// ->addOption("db", $mysql);
}
/**
* @GET("/")
*/
function index() {
// Use layout view helper to disable the layout or use Yasc_Layout object
// Yasc_Layout::getInstance()->disable(), Yasc_Layout uses singleton pattern.
Yasc_App::view()->layout()->disable();
// Get the mysql resource from this app configuration option.
//
// $mysql = Yasc_App::config()->getOption("db");
//
// ... do some sql operation.
echo "Hello world!";
}
/**
* @POST("/")
*
* You can route the same url to another function using a different request
* method.
*/
function save_index() {
Yasc_App::view()->layout()->disable();
echo "<pre>";
echo "post: ";
var_dump($_POST);
echo "</pre>";
}
/**
* @GET("/tales")
*/
function tales() {
// You can add variables to the view object and get his value on
// the view script using the variable $this, like: $this->tales.
Yasc_App::view()->tales = "oh! I'm a view variable!";
// Render a view script, a view script is a .phtml file where you can mix
// php and html, the V in the MVC model, in this example the view files
// are stored in views/ folder.
//
// This view calls a view helper 'Tales', so check views/helpers/Tales.php
// to see what it does.
Yasc_App::view()->render("tales");
}
/**
* @GET("/tales/:lol")
* @POST("/woot") // Ignored, yasc only uses the first annotation found.
*
* Named params, you can access those via Yasc_App::params() method.
*
* Matches: /tales/foo and /tales/bar
*/
function tales1() {
Yasc_App::view()->layout()->disable();
echo "<pre>";
echo "lol value: " . Yasc_App::params("lol");
echo "</pre>";
Yasc_App::view()->tales = "oh! I'm a view variable!";
// instance of a model.
$foo = new Model_Foo();
Yasc_App::view()->helloModel = $foo->doSomething();
// Render a view without the layout.
Yasc_App::view()->render("tales");
}
/**
* @GET("/tales/:lol/id/:id")
*/
function tales2() {
Yasc_App::view()->layout()->disable();
echo "<pre>";
echo "lol value: " . Yasc_App::params("lol");
echo "id value: " . Yasc_App::params("id");
echo "</pre>";
}
/**
* @POST("/tales3")
*/
function tales3() {
Yasc_App::view()->layout()->disable();
echo "<pre>";
echo "post: ";
var_dump($_POST);
echo "</pre>";
}
/**
* @GET("/foo")
*/
function foo() {
// Render view script foo, this view script calls the view helper class 'Foo',
// this view helper render a view helper script inside and return his content
// to this view, a view helper script is just another .phtml file, if you don't
// want to create a whole html string inside the helper ;).
Yasc_App::view()->render("foo");
}
/**
* @GET("^/regex/id/(\d+)/name/([a-z]+)")
*
* You can create patterns using a regular expression, this kind of route must
* begin with a '^'. Check limonade docs and code if you want more information, or
* just use limonade framework :), it's a more robust framework.
*
* http://www.limonade-php.net/README.htm
* https://github.com/sofadesign/limonade/blob/master/lib/limonade.php
*
* Matches: /regex/id/26/name/juan
*/
function regex() {
Yasc_App::view()->layout()->disable();
echo "<pre>";
echo "params: ";
var_dump(Yasc_App::params());
echo "</pre>";
}
/**
* @GET("/say/*\/to\/*")
*
* Patterns may also
bash
php composer.phar
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.