Home  >  Article  >  Backend Development  >  Interview about PHP in the field of enterprise development_PHP Tutorial

Interview about PHP in the field of enterprise development_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 10:33:32769browse

Although PHP is the most widely used environment for web application development, it was once considered out of reach for enterprise-level development.

  • Zeev Suraski, founder of Zend Technologies, a company that focuses on the progress of PHP
  • Rob Nicholson, senior technical researcher, once wrote programming language runtime for IBM
  • Derick Rethans, PHP development team member, project leader of eZ component

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 comes 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 running 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: As a language, PHP 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 mixture of "classically trained" computer science professionals and 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 without programmers ever realizing 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?

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/752467.htmlTechArticleAlthough PHP is the most widely used environment in web application development, it was once considered out of reach for enterprise-level development. Zeev Suraski, founder of Zend Technologies, a company focused on...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn