Skip to content
This repository has been archived by the owner on Oct 23, 2019. It is now read-only.

Commit

Permalink
Merge pull request #72 from bfistein/master
Browse files Browse the repository at this point in the history
blog articles
  • Loading branch information
jakubmisek committed Feb 12, 2017
2 parents 8cbdcf4 + 71d9283 commit 2bc93db
Show file tree
Hide file tree
Showing 18 changed files with 368 additions and 0 deletions.
53 changes: 53 additions & 0 deletions docs/blog/Phalanger-3-March-2013.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
> **Note:** There is a new, modern PHP compiler to .NET entitled Peachpie, which is being developed at the moment. Please see [here](www.github.com/iolevel/peachpie)
After several months of development, contributions from opensource community and collaboration with big commercial users, Phalanger is getting bigger. Today we’ve released package of Phalanger, containing many new extensions and latest integration for Visual Studio.

# New goodies in Phalanger

Mainly Phalanger is getting more managed extensions.

Biggest advantage of Phalanger is its platform; Phalanger is built completely on .NET, using safe code. No native unsafe C/C++ code is being used, and so Phalanger does not suffer from common bugs like memory leaks, buffer overruns and others. However to achieve compatibility with existing PHP applications, it needs to support a lot of PHP extensions. Until now the only way was to use mechanisms of remoting and DLL hijacking, so old native PHP4 extensions might be used in otherwise clean .NET environment.

Since this release, Phalanger contains more extensions implemented directly in .NET, so the whole process can run managed, eyeglasses without prescription 64bit (AnyCPU if you want) fully taking advantage of .NET framework. See following section for new extensions.

Beside new extensions, Phalanger gets more PDO and SPL functions/classes and more PHP 5.4 and 5.5 (short array syntax, function array dereferencing, indirect static method call, binary number format, new callback options, boolval() function).

# Complete package for development

Phalanger Setup contains everything developer may need for running common PHP web or application under .NET with all its advantages.

Phalanger supports more extensions now, so it allows many more popular PHP projects running natively on .NET, without any unsafe native code.

- Class Library (PhpNetClasslibrary.dll) is basic part of Phalanger containing basic set of functionality (standard,Core,session,ctype,tokenizer,date,pcre,ereg,json,hash,SPL,filter).
- cURL (new) – for most common tasks, Phalanger now comes with cURL extension suporting HTTP/HTTPS protocols. Community is now free to extends its functionality as they need.
- GD2, exif and image (new) are well known PHP extensions allowing to read/manipulate with images.
- Iconv (new) for string encoding conversions built on .NET Encoding.
- MSSQL is Microsoft SQL extension using SqlConnection internally to increase performance. It also ensures compatibility with latest Microsoft SQL servers.
- PDO (new) is an abstraction over PHP database connections. Support for PDO was added, containing several DB drivers like SQLite or MySQL. Developers are free to extend PDO support with additional DB drivers now.
- SoapClient (new) is managed reimplementation of PHP SOAP taking advantage of .NET built-in SOAP support.
- SQLite (new) is another DB extension for Phalanger.
- MySQL extension for Phalanger takes advantage of latest managed Oracle/.NET connector. This makes DB operations faster and safer, allowing to configure additional options and security options in standard .NET-way.
- XML (new) extension is now contained in Phalanger too. Must-have extensions commonly used for its utf8 functions.
- XMLDom extension contains support for PHP SimpleXML, dom, xsl and libxml extensions. Its feature set was extended by libxml functions and improved HTML parsing functions. The extension takes advantage of .NET XML built-in support which offers great performance and security.
- Zip (new) extension was added thanks to community contributions. Anyway still needs some work to be finished.
- Zlib (new) extension is essential part of many PHP projects, mainly because of its gzip compression support. A part of Phalanger now.

To simplify development, Phalanger comes with its integration for Visual Studio. This allows to create .NET desktop applications written in PHP, or a WebSite running on ASP.NET and compiled seamlessly from PHP. See Visual Studio Gallery for more information. Note the integration requires Phalanger to be installed using its Setup.

# Commercial Services

Phalanger is still a free software. Companies and single developers may consider visiting commercial services page for information about migration assistance, technical support or feature requests.

As a part of commercial services you can also obtain additional memcached extension for Phalanger, which was not open-sourced currently.

# Mono runtime

Don’t forget about Mono; thanks to cooperation with Mono core developers, Phalanger runs on Mono fluently. This helped both Phalanger and Mono to improve their stability and reliability.

# Future plans

Phalanger is growing every day. Currently there are big plans about another increase of compiled apps performance. More smart compiler stuff will be introduced, and more compiler purchase actos online configuration options will be designed.

Of course every day task is to keep up with new PHP features; Anyway great thing about Phalanger is it takes advantage of .NET, ASP.NET and IIS – most of PHP issues are simply not possible on these platforms which are continuously developed by Microsoft. In future Phalanger will get missing PHP 5.4 sweets like traits and closures rebinding.

Stay tuned on twitter or facebook group for more details. Thanks!
7 changes: 7 additions & 0 deletions docs/blog/Phalanger-WordPress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
> **Note:** There is a new, modern PHP compiler to .NET entitled Peachpie, which is being developed at the moment. Please see [here](https://github.com/iolevel/peachpie)
As an established open-source community project, Phalanger already has a discussion forum and an issue tracker. Today, we’re starting a new Wiki page for Phalanger and also this blog. Although we’re actively working on Phalanger, we didn’t have any way to easily share news and information about the development of Phalanger with the community. We’re hoping to change it with this blog.
Until today, there was no single blog site dedicated to Phalanger, except for Phalanger blog posts from Tomas.

WordPress is a blog engine written in PHP… and compiled.NET by Phalanger, of course! This serves both as a demonstration of how well Phalanger works, and it also saves resources of our web server.
We decided to use WordPress, simply because it looks nice and professional. After months of looking for the prettiest theme, we finally got something. Then it was pretty simple to get it working; we just extracted WordPress into folder on our web server, installed Phalanger, added some configuration and here it is.
36 changes: 36 additions & 0 deletions docs/blog/Phalanger4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
> **Note:** There is a new, modern PHP compiler to .NET entitled Peachpie, which is being developed at the moment. Please see [here](https://github.com/iolevel/peachpie)
After the long break we are happy to announce progress on Phalanger and the new version 4.0. There are some major changes in functionality and planned changes in Phalanger API. Following blog post should summarize them and describe Phalanger 4.0 advantages and improvements.

In previous releases most of the issues were caused by complexity of the compilation process and the need of low level configuration of ASP.NET and Phalanger to achieve working Phalanger application. With Phalanger it was possible e.g. to build WinForms, ASP.NET Forms, console apps, class libraries; in two compilation modes with different parser settings.

Phalanger 4.0 will simplify the process of compiling and running PHP applications. Not used features will be deprecated. New PHP 5.5 features may be added and the compilation process will be improved to achieve better performance in run-time.

# Major changes

- **Support for native PHP 4 extensions was removed.** It is no longer possible to wrap native C extension for PHP 4 into a .NET assembly and use it is an extension for Phalanger. PHP 4 extensions caused lagging and memory leaks. Its configuration and use is confusing, with the need to run in 32 bit mode.

- **Precompiled Web Sites are automatically loaded from /Bin folder.** It is possible to compile a bunch of PHP scripts into a .NET assembly. It is no longer needed to name such assembly “WebPages.dll” and it is no longer needed to list such assemblies within Web.Config file.

- **Distributed with Phalanger Tools for Visual Studio.** Since debugging, building new Web Projects and configuring go together, Phalanger will be distributed with up-to-date add-in for Visual Studio. This allows users to update Phalanger through Visual Studio extensions manager, keep both products in sync and work better with their Phalanger projects.

- **Up-to-date Tools for Visual Studio.** New Phalanger Tools are built on top of PHP Tools for Visual Studio. Thanks to this integration Phalanger Tools will take advantage of continuously improved features of PHP Tools. Based on huge users feedback, the integration gets faster and more intuitive.

- **New API for parsing and compiling.** Phalanger is about running PHP projects under .NET, integrating with .NET and improving performance of PHP code. Integrating with .NET projects is very important and unique feature. This release of Phalanger introduces new API that will be subsequently improved and documented. This allows developers to do frequent tasks with PHP code from .NET languages like C# or VB.

# Future changes

- **Improved performance.** New API allows to bring better code analysis and to produce much faster compiled assemblies. Also thanks to the missing support for native PHP 4 extensions, it will be possible to improve internals of Phalanger, including application startup and more.

- **Built-in obfuscation.** Phalanger is being frequently used as a PHP obfuscation tool. With this release of Phalanger, Phalanger Tools will come with Obfuscate option to protect compiled code, string literals, functions body and names of function arguments and name.

- **Easier development of extensions.** Since this release, it will be easier to implement missing extensions for Phalanger in .NET or PHP itself. This will be achieved by new project templates for Visual Studio and simplified interface for a Phalanger extension.

The list above gives quick look on major changes and planned improvements. Any new progress will be announced on Facebook, Twitter or here. The release will be available soon at CodePlex or newly at Visual Studio Gallery.

# Resources

Download: http://www.devsense.com/products/phalanger-tools/download/preview
Getting Started: http://www.devsense.com/products/phalanger-tools/getting-started
CodePlex: http://phalanger.codeplex.com/
Twitter: https://twitter.com/phpcompiler
Loading

0 comments on commit 2bc93db

Please sign in to comment.