Re: Re: PHP Functions

From: Date: Sat, 31 Oct 2015 16:04:20 +0000
Subject: Re: Re: PHP Functions
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-325234@lists.php.net to get a copy of this message
While PHP lets you write anonymous functions like that, and they let you do some very cool things, it should not be your first go-to. Unless you're inlining a bit of functionality into an array_map() call or similar, or you're trying to capture some context with use(), you probably should just use a named function: function vehiclesOutput($newVhcls=array(), $header=true) { ... } I'm going to venture a guess that you're coming from Javascript, where named functions are legal but convention says to never use them. PHP is the other way around. :-) Most of your code will be normal named functions, or better yet defined classes. (Unless you're taking a purely-functional approach, which in PHP is a fairly advanced and still-fringe style that is still working its way into vogue.) A few other notes: - Don't use abbreviated variable names. That offers no value other than making the code harder to read. Ie, $newVehicles. - Type as much code as you can. That is, if $newVehicles is an array, specify that in the function signature: function vehiclesOutput(array $newVhcls=array(), $header=true) { ... } You can type any class, interface, or "array". In PHP 7 (due out next month, we expect) you can also type on primitives (string, bool, int, float). You should use those, too. - If you're new to PHP but not to programming (as seems to be your situation), take the time to read this site: http://www.phptherightway.com/ Most PHP tutorials online that is older than 5 years is harmfully wrong. Start there for a well-curated set of leading practices for good modern PHP code. Cheers. --Larry Garfield On 10/31/2015 03:43 AM, Karl DeSaulniers wrote:
Sorry for the spam people. Looks like I was echoing $vehicleOutput() instead of $vehiclesOutput() with an "s". Still, if this is the incorrect way of doing this please let me know. I want to plan my code so others can work with it with "some" ease. TIA Best, Karl DeSaulniers Design Drumm http://designdrumm.com On Oct 31, 2015, at 3:08 AM, Karl DeSaulniers <karl@designdrumm.com> wrote:
Hello all, Given the following function writing technique. $vehiclesOutput = function($newVhcls=array(), $header=true) { ... }; Everything was ok till I put another function in below it in a similar fashion. (Assigning the function to a variable like so) Then I got this error. Function name must be a string but only on the second function and not all the time. It's weird. My first question is obvious. Am I doing this wrong? I got this way of writing functions from another coder online in my researching. So this is not my creation per se. I know about declaring function before the name way as well, just liked this style better I guess. If it is the correct way, what is happening? Sorry if this is a newbie question, but I haven't fully molted yet. If there is a doc I should be looking at, please provide gently if you could. TIA Best, Karl DeSaulniers Design Drumm http://designdrumm.com


« previous php.general (#325234) next »