SitePoint Sponsor

User Tag List

Page 1 of 3 123 LastLast
Results 1 to 25 of 56
  1. #1
    SitePoint Enthusiast Jack@dwd.com's Avatar
    Join Date
    Dec 2000
    Location
    UK
    Posts
    60
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    The Future of PHP - What should happen next?

    As I'm sure everyone on this board will agree, PHP 4 in its current incarnation is already a very usable functional language. But like all technology, it must evolve to meet new requirements.

    While I'm sure no one has a problem with new modules (eg. zlib, gd, xml) being added into the PHP source tree, as these add no complexity to the end user unless they wish to embrace these new modules, what about new features and technologies within the actual parsed language itself?

    For example, many people have called for increase class support, bringing up the number of OO features to a 'true' OO language such as C++. Also the re-writing of the database functions to introduce more database independency, rather than the current slight clunky mysql_connect() etc. commands.

    However, at what point should PHP stop advancing in new features (apart from, as previously stated new modules) to preserve the thing that attracted many of us to PHP in the first place, its simplicity and quick development times and what new features would you like to see?

    Lots of questions I know, but I think its an important issue.

  2. #2
    SitePoint Columnist Skunk's Avatar
    Join Date
    Jan 2001
    Location
    Lawrence, Kansas
    Posts
    2,066
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Personally I'd like to see more "solid" OOP (so I can stop worrying about performance for one thing). Exception handling would be a great addition as well - PHP's error handling leaves a lot to be desired imo. One thing I don't like much about PHP is the way there are literally thousands of functions ready for you to use sitting there taking up valuable namespace - I would prefer a "module" system of some sort where you import in to your namespace the functions that you need to use. There's no way this could happen without breaking backwards compatibility with every PHP script out there (and it would result in PHP being a very different language to what it is now) so I don't see it happening.

  3. #3
    Mlle. Ledoyen silver trophy seanf's Avatar
    Join Date
    Jan 2001
    Location
    UK
    Posts
    7,168
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think database independency would be a great addition. I know PEAR is working on it, maybe one day it will make it into the main language

    Sean
    Harry Potter

    -- You lived inside my world so softly
    -- Protected only by the kindness of your nature

  4. #4
    Prolific Blogger silver trophy Technosailor's Avatar
    Join Date
    Jun 2001
    Location
    Before These Crowded Streets
    Posts
    9,446
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'd like to see a mix of OOP and PHP and maybe get a Visual PHP feel. The reaosn being is that as much as I like coding, I am in many ways a visual person. NOTE - I do not want a WYSYWIG PHP coder as I think that would end up creating bloated code.

    Sketch
    Aaron Brazell
    Technosailor



  5. #5
    SitePoint Guru Majglow's Avatar
    Join Date
    Aug 1999
    Location
    B-Town
    Posts
    645
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hmm... what I would want.

    I want the OOP to be more efficient, and also more like C++, with public and private methods / properties, etc...

    I really really want a PHP IDE similar to Visual C++, but focused on PHP of course.

    Hell, I would work on it myself if I could get people to help me code a beast like that.

    -cARL
    Ohai!

  6. #6
    What? Maelstrom's Avatar
    Join Date
    Oct 2001
    Location
    Whistler BC originally from Guelph Ontario
    Posts
    2,175
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I will also jump on the oop getting better. I use because I personally in my setup am not worried about performance. I use oop because I find it far easier and quicker to develop good code.

    The error handling I would like to see improve. But thats because I am inherently lazy and create very basic error handling and don't want to work much harder than I already do for errors.

    AND a good generic db connectivity package (yes I have read the one at devshed) I would like to see it built in. Remove a lot of bloated functions and create a series of standardized database connection functions. It would allow one way of coding for all of the best databases. No more of this how do you code for mssql when I only know how for mysql.
    Maelstrom Personal - Apparition Visions
    Development - PhP || Mysql || Zend || Devshed
    Unix - FreeBSD || FreeBsdForums || Man Pages
    They made me a sitepoint Mentor - Feel free to PM me or Email me and I will see if I can help.

  7. #7
    SitePoint Zealot
    Join Date
    Dec 2001
    Location
    Ontario, Canada
    Posts
    141
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I would prefer a "module" system of some sort where you import in to your namespace the functions that you need to use.
    kudos to skunk. I have said the same thing since day one; when I started PHP.

    I agree that PHP needs more/better/real OO, specifically:
    the "function overloading" which is currently Experimantal, sucks.I *sudders* actaully like VBs style, "Property Get myProperty()" "Property Let myProperty( value )" "Property Set myProperty( value )", in concept, as there is a function attached to each operation of the property, retrieving a value, and setting a value, or setting an object. PHP's current Experimantal version, has a single "function __get( $name, &$value )" and "function __set( $name, $value )", inwhich all properties, defined or not, get sent through these functions. Sure I could handle it that was if need be, which it will probably be, as I doubt the PHP developers are going to change it.

    And as I am thinking about it, some people might say that PHP should have true (C++ or Java like) function overloading, actaully having more then one function with the same name. I dont really see any point in adding this, as having optional aruments, and func_args() allows enough flexibility, in my mind anyway.

    Another thing that PHP OO needs, is a Default Property, as both VB and ASP/VBScript have (and I'm sure Java too, dont know that language yet), it rocks, it allows your object to Actually act as a datatype.
    eg. $obj = new someclass(); print( $obj );
    would print what ever the value of defaut property is, instead of "Object". And I mean and overloaded funciton type property, not just a property variable.

    I also agree that there need a more nomalized database control.

    And finnally, PHP needs CONSISTENCY. having the same argument order for similar functions, like string or array handling. Not have the original value as the first argument in some functions, and the last argument on others ... its annoying.

    ... *deep breath* ... whew ...
    Last edited by AcidReign; Feb 27, 2002 at 15:33.

  8. #8
    purple monkey dishwasher scoates's Avatar
    Join Date
    Nov 2001
    Location
    Montreal
    Posts
    794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    My immediate wishlist:

    - Better/documented socket functionality on Win32.
    - Natural ability to fork
    - exec_as_user -- same as exec, but as a different user (would require authentication as that user, though -- might not prove doable)
    - Documentation for the Win32 API dll
    - Documentation for .NET dll
    - Native and Integrated MIME mail builder
    - Improved mail() function (allow sending of BCC on Win32, different send options (sendmail, nativeSMTP, +) etc.)
    - Better included file path integration (included files don't automatically know where they are.. I'll explain this if anyone's wondering.. -- it's in the manual)
    - non-zend native debugger (php3-style, even)
    - per directory/per-site php.ini on win32 (I don't think this is currently possible.
    - Native ImageMagick bindings

    That's my short list (-;

    S
    Last edited by scoates; Feb 28, 2002 at 14:03.

  9. #9
    SitePoint Enthusiast Ckeren's Avatar
    Join Date
    Jun 2001
    Location
    AU
    Posts
    98
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I suspect PHP in the future should be able to communicate to any DBMS and would provide easy functions to use and talk with other programming languages such as C++,C#,VB,SAP(ABAP),ASP and most importantly able to communicate with human using easy functions.

  10. #10
    SitePoint Wizard gold trophysilver trophy
    Join Date
    Nov 2000
    Location
    Switzerland
    Posts
    2,479
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    What about PHP# for .NET?

  11. #11
    purple monkey dishwasher scoates's Avatar
    Join Date
    Nov 2001
    Location
    Montreal
    Posts
    794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    http://208.254.57.8/dotnet/dotnet.php?item=MQ

    I haven't played with it.. yet.
    And it's pretty young, but so is C#.

    S

  12. #12
    SitePoint Evangelist =X='s Avatar
    Join Date
    Jun 2001
    Posts
    487
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I don't understand why you even dare to ask that question???

    what's the good thing about php? open source, free, system independent, works on most databases,...

    what is MS doing? taking over the world

    they take good technology (eg java, c/c++, php, basic) and they want to let developers use those technologies ONLY on MS systems and technology (j#, c#, php#, visual basic.net,...)

    I hope SUN will win the lawsuit against MS on the java stuff, and I definately hope php# won't make it...
    PHP-Webservices - Profesional Hosting and Programming of sites.

  13. #13
    purple monkey dishwasher scoates's Avatar
    Join Date
    Nov 2001
    Location
    Montreal
    Posts
    794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I hate MS as much as the next OSS developer, but this is something we're probably not going to be able to avoid.

    Java is also proprietary and closed, but we use it. If this was a company other than MS we wouldn't be so uptight.

    Same reason PHP has COM extensions. They aren't absolutely necessary, but sometimes useful. I see php .NET the same way. Some people will use it, some won't. It never hurts to have access to the tools in case we need them.

    S

  14. #14
    chown linux:users\ /world Hartmann's Avatar
    Join Date
    Aug 2000
    Location
    Houston, TX, USA
    Posts
    6,455
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)
    Well Java isn't completely proprietary. There are a lot of Open Source projects that were started by Sun or picked up by Sun, like Jakarta and Tomcat.

  15. #15
    Digital Warrior Renegade's Avatar
    Join Date
    Nov 2000
    Location
    Portland, OR
    Posts
    480
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Seanf: see php.weblogs.com for ADODB. I think that is what your looking for. DB abstraction layer. I use it all the time no matter how small the script is that I am writing.

    Majglow: There are a lot of PHP only IDE's out there. But none are very mature yet. PHP coder and PHPide come to mind. I would give it another year or two before they really become useful. For now, I just use homesite

    As for PHP, I would personally like to see them STOP working on it. Or just add new modules. Fine. But quit changing everything around already making us developers have to recode our stuff. (see PHP 4.0.6 and 4.1 with reg globals as an example)

    Another example. HTTP_*_VARS and _* garbatge. There was nothing wrong with the former, which is now btw legacy, and can be removed at any time. Which will mean I get to recode MORE stuff :/

    When was the last time ANSI C++ was updated? Probably like 20 years ago, and ppl still code in it. They should just leave well enough alone
    --There's my 1.5 cents, now where is my change!?!?

  16. #16
    SitePoint Addict exhale81's Avatar
    Join Date
    Aug 2001
    Location
    Switzerland
    Posts
    395
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I agree they shoud stop putting new stuff which make PHP harder to use. One that comes in my mind is this aweful safe mode. I don't know what the PHP developers had in their brain when they decided to implement this feature but this is aweful. No script can correctly work in safe mode and now I see all hosts jumping on this mode to make their server 'safer' while the developers admit on the documentation that a properly-configured server doesn't need to use this mode. And no matter how much you explain them, no host will turn off safe mode for a customer.

    Seriously, if they continue to add such aweful and useless features, I'll consider switching to ASP
    Sebastien Rosset
    :: Commercial: BlackSonic | ScriptsCenter
    :: Non-Profit: VJCentral | ReclaimYourSoul

  17. #17
    Making a better wheel silver trophy DR_LaRRY_PEpPeR's Avatar
    Join Date
    Jul 2001
    Location
    Missouri
    Posts
    3,428
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    other than using stuff like exec(), i can't see many non-system type things being a problem. most scripts should work ok (vBulletin does). for file uploads, you need to use move_uploaded_file() (which should be used anyway) instead of copy(), etc.

    maybe i'm not thinking of stuff at the moment. can you give me some examples? i'm curious about how restrictive safe mode really is.
    - Matt ** Ignore old signature for now... **
    Dr.BB - Highly optimized to be 2-3x faster than the "Big 3."
    "Do not enclose numeric values in quotes -- that is very non-standard and will only work on MySQL." - MattR

  18. #18
    SitePoint Addict exhale81's Avatar
    Join Date
    Aug 2001
    Location
    Switzerland
    Posts
    395
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The problem is that the same user ID (UID) must be used. Typically the script is owned by the person who uploaded it. Now if this script creates a directory, this directory will be under the Apache user (usually httpd) so the same script cannot write anything on this directory, due to conflicts with the UID. It means that my upload script, which creates a different directory for each upload to make it easier to sort the files, doesn't work in safe mode at the moment and I'll have to find another way to make it work. Include() and require() also don't work if it's not the same UID and it often cause problems.

    This is a lot of problems for a mode which is not necessary on properly configured servers
    Sebastien Rosset
    :: Commercial: BlackSonic | ScriptsCenter
    :: Non-Profit: VJCentral | ReclaimYourSoul

  19. #19
    Your Lord and Master, Foamy gold trophy Hierophant's Avatar
    Join Date
    Aug 1999
    Location
    Lancaster, Ca. USA
    Posts
    12,305
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    For those that want a PHP IDE program similar to the Visual Studio IDE, you can already get one. It is called Komodo and costs between $29.00 and $300.00 depending on your status as a student/educator.

    You can find it at www.activestate.com. They also provide Visual Studio Plugins for Perl, Python and several other languages and I am sure they will eventually offer one for PHP as well.
    Wayne Luke
    ------------


  20. #20
    Making a better wheel silver trophy DR_LaRRY_PEpPeR's Avatar
    Join Date
    Jul 2001
    Location
    Missouri
    Posts
    3,428
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    exhale81, i know about the UID restrictions in safe mode but didn't realize that the files PHP creates couldn't be modified. makes sense now. ouch! i hadn't even thought about that. thanks.
    Last edited by DR_LaRRY_PEpPeR; Mar 26, 2002 at 19:09.

  21. #21
    SitePoint Wizard gold trophysilver trophy
    Join Date
    Nov 2000
    Location
    Switzerland
    Posts
    2,479
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here's another idea for the future, which I'm not sure would work but maybe... (been reading up on GTK and getting excited)

    - A browser "plugin" which just needs downloading then allows you to run PHP-GTK apps locally.

    Then functionality for PHP-GTK which allows local apps to share processing with a PHP server. E.g. GUI generated locally - database queries run and processed by the web server (i.e. the client app doesn't get a direct database connect - instead it relies on the server)

    And hey presto - a competitor to .NET!

  22. #22
    SitePoint Author Kevin Yank's Avatar
    Join Date
    Apr 2000
    Location
    Melbourne, Australia
    Posts
    2,571
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    HarryF,

    Interesting idea, but that actually sounds more like a competitor to Java. Microsoft's SP1 for the .NET Framework threatens to put a big damper on writing client-side 'applets' to run in Web browsers.

    See my editorial in the Tech Times that'll be going out in a few hours.
    Kevin Yank
    CTO, sitepoint.com
    I wrote: Simply JavaScript | BYO PHP/MySQL | Tech Times | Editize
    Babys got backa hard back, that is: The Ultimate CSS Reference

  23. #23
    SitePoint Addict IsaacV's Avatar
    Join Date
    Jan 2002
    Location
    Saint Petersburg
    Posts
    246
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question

    Ummmmmmmmmmmmm....................
    Well, how about a Lbl/Goto thingymabobber where you can place a label thingy something along the lines of

    Label (AA) {}

    And I can set conditions where I want it to go to a certain point in my code with a

    Goto AA;

    Like, um,
    PHP Code:
    $a trim($HTTP_POST_VARS["a"]);
    if (
    $a "1") {goto AA;}
    else {goto 
    B;}
    Lbl AA
    {
       
    Blah blah blahcondition;
    }

    Lbl B
    {
       
    Blah blah blahcondition;

    And, and, and, um, a label cannot be redeclared? But it doesn't have to be declared before any output like the function(){} or header() thingys. Then maybe when the label has finished executing, PHP would keep parsing at the point it was called or a thingy like return; could mean that it should return to the point it was called or something. The Lbl/Goto's can be reused like functions many times because you can go to the same label over and over without hurting anything and such...
    It wouldn't hurt and it would certainly safe me from including a bunch of ****** files if I do say so myself.

    Also, I hate it when I try to display a variable that I've declared somwheres and it displays nothing because the variable isn't set because of the stupid variable-scope thingy. They could make that easier.
    Then maybe they could do something with that stupid GDLib because I have to pay $150 for my hosts to recompile the servers with it installed and no other of their clients wants to pay it either so I'm stuck.
    There's a lot more they could do with it.
    Last edited by IsaacV; Mar 27, 2002 at 19:27.
    Pants.
    Join the NYFlava Fashions Contest

  24. #24
    purple monkey dishwasher scoates's Avatar
    Join Date
    Nov 2001
    Location
    Montreal
    Posts
    794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm not sure if that last post was a troll, was serious, or was an attempt at being funny (I laughed).

    -Gotos are EVIL. They lead to spaghetti code, and unreadability. -- it looks like you want subroutines. Look into functions. (http://php.net/functions)
    -Variable scope is a GOOD thing.
    -And GD is a separate library the same way MySQL is a separate library. If you need it, pay for installation.

    S

  25. #25
    What? Maelstrom's Avatar
    Join Date
    Oct 2001
    Location
    Whistler BC originally from Guelph Ontario
    Posts
    2,175
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    To be honest most of the points brought up in that post are very old schools. Basic and gwBasic. Most of those things IssacV are not included in modern programming languages because of inefficiency, security risk or just plain 'why bother'.

    To slam myself I went back and looked at this program I wrote to track and maintain a live database (flatfile) to track certain measurements to give you a body fat % amongst other things. Now this was in a time when goto was a standard. The code is overly long. In fact so much so I was able to rewrite in javascript using cookies as the database in 25% of the lines. This would be common place if everyone converted the code over. Spagetti code produces seriously bloated code
    Maelstrom Personal - Apparition Visions
    Development - PhP || Mysql || Zend || Devshed
    Unix - FreeBSD || FreeBsdForums || Man Pages
    They made me a sitepoint Mentor - Feel free to PM me or Email me and I will see if I can help.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •