Archive

Posts Tagged ‘PHP’

CakeFest 2011

September 9th, 2011 No comments
Categories: PHP Tags: , , ,

Trick with variable name transformation in CakePHP

February 26th, 2010 No comments

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 world!’ should appear on the web page. But if the same operation is done using function compact, the result is not predictable:
$my_var = 'Hello world!';
$this->set(compact('my_var'));

Instead of ‘Hello world!’ you’ll see the warning about undefined variable on your web page. It happens because cakePHP removes underscore and makes letter, followed by it, capital. So, instead of $my_var you should use $myVar in the view:
<?php echo $myVar; ?>

Note that this bug appears in the cakePHP version 1.2. It’s already fixed in the 1.3.

Categories: PHP Tags: , , ,

SugarCRM: check updating of object’s property

July 16th, 2009 2 comments

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:

  1. if($obj->fetched_row[‘id’] != $obj->id) {
  2.     echo "This’s a new object!\n";
  3. } else {
  4.     echo "This’s an existing object\n";
  5. }

That approach might be used in the handler of logic hook, for example, to perform some action when desire property is changed.

Categories: PHP Tags: ,

Managing Standalone Scripts in PHP: part II

September 26th, 2006 No comments

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.

Run PHP script from command-line

September 7th, 2006 No comments

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.

Lost in Translation

June 16th, 2006 No comments

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 = $names[0];
$email_user = preg_match('/^(.*?)@/', $email);
$last_name = $names[1] || $first_name || $email_user;

But PHP is not Perl. I got “1″ as the last name. So, I changed it on PHP manner:
$last_name = $names[1];
if(!$last_name) $last_name = $name[0];
if(!$last_name) $last_name = $email_user[1];

IMHO Perl variant is much better :)

Get Adobe Flash playerPlugin by wpburn.com wordpress themes