If suddenly you have no sound on your ubuntu system, you should try this:
$ pulseaudio -k && sudo alsa force-reload
Also this should work:
$ killall pulseaudio
PHP, Json, jQuery, MySQL, Memcahe, REDIS, Symfony, Android, Nginx, NodeJS, Phalcon PHP, Python, Django, Flask, ReactJS, ReactNative, ElasticSearch, AWS
If suddenly you have no sound on your ubuntu system, you should try this:
$ pulseaudio -k && sudo alsa force-reload
Also this should work:
$ killall pulseaudio
Generate documentation for php REST API based application. No dependency. No framework required. Easy to use. php-apidoc – php rest api documentation tool. https://github.com/calinrada/php-apidoc . Check out the dummy generated file: http://calinrada.github.io/php-apidoc/ | php rest api documentation generator.
Here is a simple and quick jQuery plugin that will split the MySql date format values of an form element into select form elements.
Html element:
Call the plugin:
$(function() { $('#birth_date').birthDate(); });
And the plugin:
/** * Simple plugin that converts an hidden html element * that has a MySql date format value into select elements * * @author Calin Rada*/ $.fn.birthDate = function( options ) { if($(this).length == 0) { return false; } var settings = $.extend({ dateFormat: "d-m-Y" }, options ); var currentDate = new Date(); var minYear = currentDate.getFullYear() - 110; $('').insertAfter($(this)); if($('#birthDatePlugin').length > 0) { var dates = $('#birth_date').val().split('-'); var year = dates[0]; var month = dates[1]; var day = dates[2]; var content = ''; var yearContent = '
And the result:
If this helped you, i’m glad 🙂
I have developed a plugin for Phalcon – PhalconUserPlugin – that allows your users to register / login with their Facebbok, LinkedIn, Twitter or Google+ accounts. This is an alpha version and there are many things to do. Check it out: https://github.com/calinrada/PhalconUserPlugin . Don’t forget, your feedback is appreciated 🙂
You might wonder why using Twig with Phalcon PHP and not using Volt. Well, i had 2 main reasons:
1. I have been using Twig for the last 2 years and it’s available as a C extension also.
2. Using Volt it’s almost exactly the same thing, but for now it seems that Volt is not so stable – mostly because of the view renderer. I had a lot of problems while trying to render Volt templates (Phalcon 1.3.0). Anyway, when it will be stable, i will use Volt for sure. So, if you read this while you have a stable Volt and it is not mandatory to use Twig, just use Volt.
1. Download Twig
2. Register it in your bootstrap
require "YOUR_PATH_TO_TWIG/Autoloader.php"; Twig_Autoloader::register();
3. Download Twig View from Incubator and register it to your namespace.
4. Edit your service file and add a twig service to DI
$di['twigService'] = function($view, $di) { Namespace\To\Twig\View::setOptions(array( 'debug' => true, 'charset' => 'UTF-8', 'base_template_class' => 'Twig_Template', 'strict_variables' => false, 'autoescape' => false, 'cache' => __DIR__.'/../../cache/twig/', 'auto_reload' => null, 'optimizations' => -1, )); $twig = new View($view, $di); return $twig; };
4. Enable Twig as your view engine:
$di['view'] = function() { $view = new \Phalcon\Mvc\View(); $view->setViewsDir(__DIR__ . '/../views/'); $view->registerEngines(array( ".twig" => 'twigService' )); return $view; };
That’s it. Create a new file with the extenstion .twig in your view folder, and everything should run as expected.
If you are working with Phalcon, you will probably need to establish a many-to-many relationship between models. While i was searching in the official documentation, this was not very clear for me at that time. I posted this question on the form, and i got the correct answer.
I will explain you here, step by step. As an example, we will think about the following database structure:
Article table:
CREATE TABLE IF NOT EXISTS `article` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) CHARACTER SET latin1 DEFAULT NULL, `content` text CHARACTER SET latin1, `slug` varchar(160) CHARACTER SET latin1 NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`), KEY `title` (`title`,`created_at`), KEY `slug` (`slug`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
Category table:
CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET latin1 NOT NULL, `slug` varchar(255) CHARACTER SET latin1 DEFAULT NULL, `left_node` int(11) NOT NULL, `right_node` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `idx_name` (`name`), KEY `idx_slug` (`slug`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
articles_categories table:
CREATE TABLE IF NOT EXISTS `articles_categories` ( `id` int(11) NOT NULL AUTO_INCREMENT, `article_id` int(11) NOT NULL, `category_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `article_id` (`article_id`), KEY `category_id` (`category_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ALTER TABLE `articles_categories` ADD CONSTRAINT `articles_categories_ibfk_1` FOREIGN KEY (`article_id`) REFERENCES `article` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `articles_categories_ibfk_2` FOREIGN KEY (`category_id`) REFERENCES `category` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
Article model:
hasManyToMany( "id", "Models\ArticlesCategories", "article_id", "category_id", "Models\Category", "id", array('alias' => 'categories') ); } }
Category model:
hasManyToMany( "id", "Models\ArticlesCategories", "category_id", "article_id", "Models\Article", "id", array('alias' => 'articles') ); } }
ArticlesCategories model:
belongsTo('category_id', 'Models\Category', 'id', array('alias' => 'category') ); $this->belongsTo('article_id', 'Models\Article', 'id', array('alias' => 'article') ); } }
Easy, huh ? See the original post. I hope this was helpful 🙂