Interoperability of compiled PHP framework with .NET environment and package management
Interoperabilita kompilovaného PHP frameworku s prostředím a správou balíčků platformy .NET
bachelor thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/119376Identifiers
Study Information System: 208171
Collections
- Kvalifikační práce [11242]
Author
Advisor
Referee
Kofroň, Jan
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Programming and Software Systems
Department
Department of Software Engineering
Date of defense
7. 7. 2020
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
PHP, CIL, kompilace, interoperabilita, rozšiřitelnost, balíčekKeywords (English)
PHP, CIL, compilation, interoperability, extensibility, packageJiž dlouhou dobu dominuje průmyslu vývoje webových aplikací programovací jazyk PHP. Každý významný PHP framework disponuje velkou komunitou pro- gramátorů a kvalitní codebase, které společně poskytují sadu technik a nástrojů, usnadňujících vývoj webových aplikací v PHP ještě více. Spojení tohoto obsáhlé- ho světa PHP s .NET je hlavním cílem Peachpie, překadače PHP do .NET. Tím přináší prostředky pro použití Symfony frameworku v .NET, čímž potěší PHP programátory toužící po vyšší bezpečnosti, ale i .NET programátory postrádající third-party obsah. Přímé použití Peachpie však přináší problémy spojené s prak- tickou použitelností nástrojů poskytnutých Symfony frameworkem. Každý pro- jekt by totiž vyžadoval opětovně kompilovat všechny Symfony komponenty, což přináší negativní časový dopad a potřebu zdlouhavé manuální konfigurace. Tato práce demonstruje možnost zlepšení tohoto procesu a usnadnění použití Symfony frameworku v .NET. Práce představuje sadu nástrojů pro semi-automatickou kompilaci Symfony komponent do NuGet balíčků a migraci jednoduchých Sym- fony aplikací na .NET. Navíc jsou poskytnuty i nástroje umožňující interoperabil- itu mezi šablonovacími jazyky Twig a Razor, a série...
PHP language has been dominating the web development industry for a long time now. Each major PHP framework brings together a large community and a solid codebase, providing features and tools that make the PHP web application devel- opment even simpler. Joining this vast world with .NET is an aim of Peachpie, PHP compiler to .NET. This provides means to use Symfony framework in .NET, yielding advantages for both the PHP developers striving for more security and the .NET programmers lacking third-party content. Doing so with plain Peachpie compiler, however, brings problem of actual usability of the features Symfony pro- vides. Each project would require to recompile Symfony Components again and thus result in both time overhead and tedious manual configuration. This thesis shows it is possible to improve this process and enable intuitive usage of Sym- fony framework in the .NET environment. It denotes utilities for semi-automatic compilation of the Symfony Components into the NuGet packages and migration of simple Symfony applications to .NET. Furthermore, it provides tools for ad- ditional interoperability between Twig and Razor template engines, and a set of examples of its actual usage.