This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// accepts default string and test function. | |
// test function is tweaked everytime object of class LazyStrings is casted to string, | |
// if test function returns FALSE/NULL default string is returned, otherwise the result of | |
// test. | |
class LazyString { | |
private $_default, $_tweak; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def isPalindrome(word): | |
if len(word)<2: | |
return boolean(word) | |
return (word[0] is word[-1]) ? IsPalindrome(word[1:-2]) : False |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace traits; | |
trait Singleton { | |
// Для тех, кто не предусмотрел конструктор в классе | |
private function __construct() { | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Assume this function definition: | |
function foo($bar, $baz = 'qux') { | |
return $bar.$baz; | |
} | |
// Oh crap, something went wrong, and we call it without arguments: | |
$foo = foo(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CMS: | |
Database configurator: Propel (http://www.propelorm.org/), only migrations? | |
Model: Paris (https://github.com/j4mie/paris) | |
Controller: own, with given tools | |
Router: Klein (https://github.com/chriso/klein.php) | |
Packaging: Composer | |
View: Twig vs Smarty | |
User management: ?? | |
Application: ?? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// How can foreach be implemented with while? | |
while (list($key, $value) = each($array)) { | |
print "$key is $value".PHP_EOL; | |
} | |
// How to get rid of @ in foreach (@$arr .. ) ? | |
// (this is always a bad practice, but anyway) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function loop($count, $callback) { | |
if (is_int($count)) { | |
for ($i = 0; $i < $count; $i++) { | |
$callback($i); | |
} | |
} | |
elseif(is_array($count)) { | |
$_copy = $count; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// A short example of my current bot API usage | |
hear("/^close( issue)? #(?P<id>\d+)/iu", function($bot, $msg, $matches) { | |
// This bot likes to work with Redmine | |
$issue = new \Redmine\Issue(); | |
$issue = $issue->find($matches['id']); | |
// Is issue present? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class Colorize { | |
static $foreground_colors = array( | |
'bold' => '1', 'dim' => '2', | |
'black' => '0;30', 'dark_gray' => '1;30', | |
'blue' => '0;34', 'light_blue' => '1;34', | |
'green' => '0;32', 'light_green' => '1;32', | |
'cyan' => '0;36', 'light_cyan' => '1;36', |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function preg_match_callback($expression, $subject, $callback) { | |
static $matches_count = 0; | |
preg_replace_callback($expression, function($matches) use($callback) { | |
call_user_func($callback, $matches); | |
}, $subject, -1, $matches_count); | |
return $matches_count; | |
} |
OlderNewer