Reprinted from: http://www.nowamagic.net/librarys/veda/detail/256
Although PHP is the most widely used environment in web application development, it was once considered out of reach for enterprise-level development.
Q: A key element of enterprise software is interoperability, which allows the software to exchange information with other platforms. Everyone thinks that PHP performs poorly in this regard because its WS-* support is relatively new and has fewer features and is not mature enough. How do you think about this? Will it change?
Zeev: I think interoperability involves more than WS-*. In fact, we only see very few SOAP-based Web service requests, and more come from other standards. This is mainly because the process of deploying SOAP is more complicated. PHP supports interoperability very well and provides many different interfaces for this (REST, excellent XML support, SOAP, ZF components for web services, etc.). It is said that PHP has provided very good basic support for SOAP since 2004 and extensive support for WS-* through the Axis2 extension since 2006. All I can say is that I have never had a user complain about a lack of interoperability, and if they did, it would be a compliment.
Rob: I think this is just the view of some people. PHP stems from its simplicity. It is a language that can "solve web problems" with just the necessary complexity. Therefore, PHP programmers will choose REST more than SOAP. Traditional enterprise software is gradually moving closer to PHP in the middle. For example, many of IBM's enterprise-level software products provided RESTful interaction support last year, including the Atom publishing protocol, so there is one more choice. Use WS-* where you should, and REST when simplicity and speed of development are critical. We've also been interested in seeing PHP being used to directly enhance enterprise connectivity. IBM's Message Broker can be used as a "universal converter" that can connect one thing to another, and now its message conversion flow also provides support for PHP computing nodes. So it is now possible to use the simple yet powerful syntax and statements of the PHP language within enterprise software. We recently released a SupportPac for IBM's CISC transaction processor to support the PHP language. CISC, just like software, has an "enterprise-level" nature. It runs on mainframes and can be used by organizations like banks, governments and the healthcare sector to handle some of the most important matters that impact daily life.
Derick: I don’t think there’s much of a problem here. PHP already provides support for all WS technologies such as SOAP, XML-RPC and JSON.
Q: In the past few years, it has become a trend to port scripting languages to the JVM to take advantage of its rich monitoring, security and other functions. This is not new to PHP development, because there are many PHP applications running in the JVM in the real world. Manufacturers have their own opinions on the topic of improving performance. What do you think of this trend?
Zeev: We are seeing a similar trend in .Net, but these scripting languages have not strayed very far from the original implementation. I think the same is true for PHP on the JVM. In fact, we can see the performance advantages of the natively implemented PHP compared to the comprehensively modified PHP - especially the memory requirements and long-term performance in the real world. Nonetheless, the biggest advantage of a standard implementation is the strong community support it has (both in terms of code contributions and usage), something that other implementations lack.
Rob: Everything about it is so exciting and I believe it has a great future. Of the thousands of languages that have been implemented, only a few have survived the process of natural selection because they were particularly suited to a certain purpose. Therefore, it is natural for developers to improve and innovate the implementation of a certain language. If we look at the Ruby community, the success of the language can be attributed to at least half a dozen implementations, and the shared testing and performance tweaks within those implementations that helped define the language's specifications and best interact with each other. The competition for the "Quick Ruby" title also contributed a lot. I think we are witnessing the same thing happening with PHP. We have already seen great benefits from collaboration between PHP implementations, such as the large number of new test cases and efforts to improve certain APIs generated by the community in the past two years, and I believe this phenomenon will continue in the future Go down. I'm currently working on an implementation of PHP on the JVM, which is already used in IBM's ProjectZero incubator, the WebSphere sMush product, and the CISC PHP SupportPac and MessageBroker compute nodes I mentioned earlier. I think for certain types of problems running PHP on the JVM would make a lot of sense. We see our partners and customers using it to couple existing Java-based systems so they can easily reuse Java libraries and APIs while enjoying the convenience of PHP.
Derick: While performance "might" improve, scalability will always be an issue. The whole idea of PHP is to achieve scalability easily with a shared-nothing architecture. Running PHP on the JVM removes its shared-nothing architecture. Unfortunately there is only one project in the PHP community called PHP-on-JVM that contributes as many test cases as possible.
Q: Upgrading from PHP 4 to PHP 5 is not a simple migration process. What would you say to companies that are hesitant to invest in the upcoming release of PHP 6?
Zeev: I actually disagree with the statement that 4->5 migration is a very difficult process. The whole process isn't too much of a compatibility-breaking issue, but rather a relatively simple matter of patching the application. In fact, if you want to take advantage of new features, it is inevitable and expected to spend a little more work. In version 6 we actually gave more consideration to compatibility breaking issues - this issue is currently more substantial in 6 than in 5. This is what we need to take the time to do.
Rob: I think PHP5 will be around for a long time to come. The upcoming 5.3 version has been designed to be as painless an upgrade as possible, and has added almost all the features originally scheduled in PHP 6.0, except for removing some unused features and adding unicode in PHP 6.0. I'm very eager to see a unicode version of PHP, because it will allow PHP-based JVMs to have more direct compatibility. The reason why it is more direct is that the JVM natively adopts unicode to represent strings, but I suspect that the adoption process is in PHP. 5 and PHP 6 will be very slow and last for many years.
Derick: Although people are always skeptical about this, we will work hard to reduce these problems by introducing forward-compatible features to move to PHP 6. If you can give us feedback on the problems you encounter in the current development version, it can help us make the migration process easier.
Q: In all established languages, people in the community have pushed to add many advanced features. On the other hand, PHP has always been considered easy to learn and has fewer functions. Do you think this situation needs to change?
Zeev: I definitely don't think it should be changed as it is a key factor in PHP's success. There is a proverb in Hebrew that goes something like this: "The more you give, the more you receive." I firmly believe that this sentence is applicable to PHP, at least in terms of language structure and grammar. PHP can be endlessly extended through the use of extensions and frameworks, which in my opinion are the best and most interesting "final frontier" of PHP. I feel that large, complex websites using PHP entirely (Facebook, Yahoo, Flickr), complex existing applications based entirely on PHP (SugarCRM, OpenPro, CMS's), and businesses that rely on PHP for their corporate websites or internal systems are a testament to the fact that: PHP's feature set has matured, and we should move in that direction.
Rob: When we set out to select a scripting language for IBM's scripting product WebSphere sSmash, we specifically chose PHP because of its wide range of uses. We hope to connect millions of PHP programmers with enterprise or enterprise software, and we hope to support a language that new programmers can get started quickly. The power of PHP lies in its simplicity. If a language does not want to die, it must continue to evolve. If PHP 5 does not support object-oriented programming, it will definitely lose a lot of appeal. With the release of PHP 5.3, PHP can certainly potentially increase its complexity with these new features. I think more work in the future is to understand how to use them and form sentences based on them. Given the lag in adoption of new versions, it will be several years before most mainstream applications are moved to using 5.3 features, and I imagine that during this time PHP programmers will have plenty of hands-on experience mastering these new features. , and use them to simplify common programming tasks.
Derick: No, it doesn't need to change, both types of developers exist. Adding new features doesn’t necessarily require raising the barrier to entry.
Q: PHP, as a language, has been evolving following excellent paradigms over the years, and has evolved from a simple preprocessor into a powerful OO language. With the functional programming style emerging, do you think this paradigm will enter the PHP world in the future?
Zeev: No. PHP still supports procedural development and is unlikely to go away; we added OO support back in the launch of PHP (PHP 3), although it has now crossed over to PHP 5. Lambdas are probably the closest thing to the functional paradigm, and that's exactly what we need to accomplish. This also reflects a question I answered earlier - we don't want a one-and-done language, we just want a simple language that can get the job done.
Rob: This is already happening to some extent. The concept of closures in PHP 5.3 comes from the world of functional programming. The PHP community is a mix of "classically trained" computer science professionals as well as some amateur self-trained programmers. It's actually interesting to see the birth of closures and the evolution of common statements in this diverse community. I believe we will eventually have a widely accepted set of patterns and statements that elegantly solve common problems in web development, and programmers will never realize that it all originated from functional programming.
Derick: I'm not sure, I don't think it would be particularly suitable. But if it makes sense for a PHP application, maybe a way into PHP can be found. PHP has always done a great job integrating interesting and useful ideas from other languages.
What do you think? Is choosing PHP a wise move for enterprises?
Original post published on 2008-6-26 00:57 [i] I have never seen other languages...:sweat: :sweat: There are many .Net and Java, Kingdee K3 ERP uses .Net, Inspur ERP has .Net and Java versions. Many large-scale enterprise projects I have seen mostly use Java, followed by .Net. I have never seen one using PHP:sad:
In my opinion, the reason PHP is not considered a contender is due to the reviewers' lack of knowledge about it and the lack of understanding of other operating systems used for web development. There is another possibility: PHP is open source and free, which means low price in a commercial environment! The largest share of the web hosting service market, I guess it is also being destroyed in the field of WEB development. Obviously, PHP is considered to be so far behind ASP and jsp (the first choice for SUN enterprise-level applications) that it is useless, but this is exactly contrary to the fact. PHP is a powerful language in its own right. It's available on virtually every distribution of LINUX, and it's also available on Mac OS X. Access to building-block tools and software for developing and using PHP code is free. Commercial integrated development environments (IDES) for developing PHP applications are also available - tools such as Komodo (which runs on LINUX and Windows) and Zend Studio (the application can run on any On an operating system with JAVA running environment). The fact that you can run a website built with PHP on almost every web host, regardless of what operating system the server is running, makes PHP even more attractive. Ease of Use Any user using C or Perl or another language with similar style and syntax can quickly get started with PHP. Although it is designed for use on the Web, it can also be used as a command line language. Does the WEB application you are writing need to execute certain code every hour or every day? Using cron or a similar scheduling manager, you can schedule PHP code to be executed when you want it to be executed using an ordinary shell script or batch file. There is no need to automatically call the browser to view a specific web page to execute your event, and there is no need to rely on visitor clicks to tell your system that specific code needs to be executed at a specific time. The fact that PHP is scalable in this area is absolutely attractive. The Benefits of PHP I am not a veteran of jsp (the first choice for SUN enterprise-level applications) or ASP, and I do not want to belittle these languages. Instead, I'll focus on the benefits of PHP. Localizing PHP allows you to provide localized services to your website visitors. When users click through to a website, the website automatically serves pages in their native language based on their browser settings. This is achieved without the use of complicated files for language translation, but by using the same capabilities as localized C programs, through a system called gettext. If the requested language file exists, the text the user sees is his or her native language; if the language file does not exist, the text is the default English or any other language you specify. Many localized UNIX applications use gettext as a standard, which makes third-party translation a breeze. Easily use the command line PHP supports setting up and executing command line programs wherever needed. Using the standard UNIX diff tool, it is possible to generate the difference between the last modification of the error and the current comment to be emailed to the owner of the error. The PHP code performs a diff on two files written on the system, takes their output as input, and generates an email to send. This email is sent via PHP itself. Other Benefits The above are just two of the powerful features I use in my own programs, but there are many more. For example, you can: Create simple Flash animations on the fly. Create PDF documents instantly. Use advanced mathematical functions, as well as object-oriented programming techniques. Read and write to local and IMAP mailboxes. Any standard Internet protocol can be used in PHP. Want to write a PHP-based FTP, WEB or news client? No problem! Using only PHP you can write clients and servers that use standard TCP/IP sockets and create your own protocols. Implement support for encryption and support for various database servers. I feel that those who are looking for the top web development language and exclude PHP are extremely short-sighted comments... The rest of the full text >>