Move legacy PHP project to the modern Laravel ecosystem

Move legacy PHP project to the modern Laravel ecosystem

Legacy projects can be a pain – you have to not just support an old code but add new features. And at some point this may become a nightmare. However, there are many ways to upgrade it without full re-development at one time. One possible solution is to move such projects to the modern Laravel ecosystem as it’s described in this article. The idea behind […]

Read Me Leave comment

Allow inline line breaks for Monolog

Allow inline line breaks for Monolog

By default Monolog ignores line breaks inside debug message and puts it in one line. That’s fine for GrayLog or something similar but is not handy for me during local development. The fix is easy. Just add new Formatter with allowInlineLineBreaks option in true to your StreamHandler and enjoy formatted dumping of arrays: $logger = new Monolog\Logger(‘MyLoggerName’); $formatter = new Monolog\Formatter\LineFormatter( null, // Format of […]

Read Me Leave comment

CakeFest 2011

I couldn’t participate CakeFest 2011 which was on September 1st – 4th in Manchester, UK. But at least I’d see slides of speeches. I found a few of them: Evented applications with RabbitMQ and CakePHP Really Rapid Admin Application Development Ch ch-changes cake php2 Tips of CakePHP and MongoDB Internationalizing your application Full-Stack CakePHP Deployment Going crazy with Node.JS and CakePHP Enjoy!

Read Me Leave comment

Trick with variable name transformation in CakePHP

CakePHP is a good PHP MVC framework. You can study it easily and start developing web sites very fast. But it has some disadvantages, of course. One of them is strange rules for transformation variable name when it set in the controller. Statement $my_var = ‘Hello world!’; $this->set(‘my_var’, $my_var); will make the variable $my_var accessible in your view: <?php echo $my_var; ?> The phrase ‘Hello […]

Read Me Leave comment

SugarCRM: check updating of object’s property

Sometimes it’s needed to know about updating of specified object’s property. SugarCRM keeps previous values for all object’s properties in the array fetched_row. For example, to realise it’s new object or just updated we should compare ID from that array and current value of object’s property: if($obj->fetched_row[‘id’] != $obj->id) { echo “This’s a new object!\n”; } else { echo “This’s an existing object\n”; } That […]

Read Me 2 Comments

Managing Standalone Scripts in PHP: part II

The second article about using standalone PHP script shows amazing ability of PHP such as fork, signals and demonizing. Yes, PHP allows to catch signals like SIGINT, SIGHUP, SIGALRM and so on. It’s really cool! When I develop background utils for SugarCRM I didn’t know about those useful PHP features. So, it’s time to make them more efficient and geek.

Read Me Leave comment

Run PHP script from command-line

I came across a brief howto “Implementing with PHP: Standalone Scripts”. I’m Perl guy but I have to use PHP in command line to perform some SugarCRM backgound tasks. I found useful the part about parsing command-line arguments with Console/Getopt.php. It may do administration tasks much easier.

Read Me Leave comment

Lost in Translation

Today I tryed to implement a functionality to create some CRM entities from email. I needed to retrieve an email, first name and last name (if possible) and body of the email. The last name is a mandatory property. I made a mistake when I used perlish style to initialize the last name: preg_match(‘/\”(.*)\”\s+\< (.*)\>/’, $from, $from_arr); $names = preg_split(‘/\s+/’, $from_arr[1]); $email = $from_arr[2]; $first_name […]

Read Me Leave comment