Php-En-2021.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

Php-En-2021.Pdf PHP en 2021 PHP 1. Evolución 2. Soporte 3. Benchmarks 4. Popularidad 5. asos concretos 6. Presente " #uturo 1 Evolución 1$$3 % && Perl 0.x ,1$$4- • Pretendía ser un sistema de plantillas • onjunto de ommon )ate*a" +nter#ace , )+) escritos en • .os e/tiende para trabajar con1 • 2ormularios • BB.DD. 1.0 2.0 3.0 4.0 1$$5 1$$4 1$$5 2000 2oros • vBulletin (2000- • phpBB (2000- • Simple 6achines Forum (2001- • +nvision ommunity (2002- • +nvision Po*er Board (2002- 6S • 3rupal (2000- • 6oodle (1$$$72001- • 8ordPress (2003- • Joomla (2005- 8ebs • Source2orge (1$$$- • 8ikipedia (2001- • 6ailchimp (2001- • 2lickr (2004- • 2ace0ook (2004- .;6P • Linu/ • ;pache • PHP • 6"SQL 5.0 5.1 5.2 5.3 5.4 5.5 5.6 2004 2005 200! 200$ 2012 2013 2014 2rameworks • akePHP (2005- • S"m#on" (2005- • ode+:niter (200!- • =end Frame*ork (200!) → .aminas Pro(ect • Laravel ,2011- • 3octrine O?M (200!- omercio electrónico • PrestaShop (2004- • 6agento (2005- • Open art (2010- • 8ooCommerce (2011- 6icroframeworks • Silex (2010- 7> EOL junio 2015 • Slim (2011- omposer • 2012 • )estor de dependencias • +nspirado en npm y en bundler • Packa:ist • onfiguración JS>B • Cso simple y robusto PHP72+) • 200$: PHP Standards Group • 2011: PHP Frame*ork +nteroperabilit" Group • PS?: PHP Standard ?ecommendations (13- • 8ordPressD Laravel, Symfon" EspeciAcación del lenguaje PHP – 2014 20 años desde el inicio 2acebook • 2010 • HHVM: VM con compilación J+T • ?endimiento superior • Hack: tipado estItico y dinámico • Septiembre 2014. De(a de ser compatible con PHP Evolución • Gersión ma"or o menor cada aFo • 2 años soporte • 1 año más de soporte de se:uridad 7.0 7.1 7.2 7.3 7.4 8.0 2015 201! 2014 2015 201$ 2020 2 Soporte en las distintas versiones 3 Benchmarks J 4 Popularidad Backend we0 79,2 K *3techs.com Sitios populares • 2acebook.com L • 8ikipedia.or: • Gk.com • 8ordPress.com • Pinterest.com • Gimeo.com 5 asos concretos 8ordPress • 2003 • MS líder: 41D$ % de la cuota de mercado *e0 • !5,0 K de la cuota de mercado de CMS • Propósito :eneral, no solo 0logs • ;utomattic (valorada en 3000 millones $) 8ordPress • omunidad mu" :rande • 96 :rupos de meetup en España • Bivel mundial: • 749 :rupos • 109 países • 464.806 miem0ros • 142 8ordCamps en 2019 ,36.000 asistentes) 8ordPress • Ecosistema de ne:ocios inmenso • Hosting dedicado • 6arketplaces • Empresas de temas " plu:ins • ;:encias de servicios .aravel • Bace en 2011 • 2rame*ork 6G • Haylor >t*ell • Basado en los componentes de Sym#on" • >?6 propio ,Eloquent) • 6otor de plantillas propio ,Blade- • <uer" builder .aravel • 6i:raciones y seeding en las BB.DD. • omposer como :estión de paquetes • Hest unitario ,PHPUnit) " tests de inte:ración ,3usk) • Entornos de desarrollo: HomesteadD Galet • .+ ,;rtisan) • Paquetes oficiales: ashierD PassportD SocialiteD... .aravel • Gran comunidad: paquetes • 6odelo de ne:ocio SaaS: 2or:eD Envo"erD Gapor, Bova, certiAcación,... • on#erencias: CS, ECD ;ustralia • urva de aprendiOaje pequeña Sym#on" • Bace en 2005 • 2rame*ork *e0 • on(unto de bi0liotecas PHP desacopladas • 2abien Potencier • SensioLabs • 3octrine ,>?6- • H*i: ,motor de plantillas) Sym#on" • Sus componentes son usados en otros pro"ectos: • .aravel • Drupal • Be:ocio SaaS: Cloud, S"m#on" astsD S"m#on"+nsi:ht, blackfireD certiAcación, conferencias,... ! Presente y futuro Presente y futuro • urva de aprendiOaje baja • Barrera de entrada pequeña • ;ccesible a una :ran cantidad de usuarios, no solo a programadores => diversidad • ;ccesible en todos los +SP • Barato • Diseñado para *e0D aunque vIlido en otros entornos ,CLI,...- Presente y futuro • ;ltamente escalable. Buen rendimiento • omunidad enorme • Programadores disponibles para contratar • 2ormación rápida • .en:uaje >> y completo • omposer • PSR ,PHP Standards ?ecommendations- Presente y futuro • Herramientas de :ran calidad: • +3E1 PhpStorm • Entornos desarrollo: HomesteadD .;6PD GGG,... • Hests: PHPUnit, Laravel 3uskD Sym#on" PantherD... • .i0rer'as: Hhe .eague of Extraordinar" Packa:es, Spatie,... Presente y futuro • Herramientas ampliamente usadas: • 6S: 8ordPress, 3rupalD... • 2rame*orks: LaravelD S"m#on"D... • omercio electrónico: 8ooCommerceD 6agentoD PrestaShop,... • .;6P omnipresente Presente y futuro • Barrera de entrada pequeña => códi:o y pro"ectos de mala calidad => mala imagen • arencias en el lenguaje • 6ucho tiempo para nuevas #uncionalidades • 2alta de una #undación que :estione el pro"ecto • 2alta de Ananciación • 6ala imagenD poco Qcool» S3ebemos aprender PHP en 2021T Sí Pero, ¿PHP no estI muerto? jesusUjesusamieiro.com .
Recommended publications
  • PHP Tech Stack Other Experience Everyday Tools Languages
    Igor Tverdokhleb Work permit: RU+DE the Senior PHP developer who is practicing Location: Hamburg SOLID and designing & implementing scalable systems, that are mostly using ElasticSearch, + 49 (152) 244-15-088 Redis, MySQL & Running on AWS. [email protected] I have a strong point about the application performance. github.com/arku31 arku-cv.com SKILLS PHP Tech stack Daily using - Laravel / Lumen Docker (Expert) Mac -- Eloquent ORM/Migrations Linux (Advanced) PHPStorm -- Events/Listeners apache / nginx / php-fpm CI/CD (usually gitlab) -- Middlewares/Nova mysql / pgsql NewRelic / Datadog - Swoole redis / memcached Blackfire - Phalcon ElasticSearch - Symfony Queues (SQS, Laravel) Languages - Laminas (Zend) - Various libraries Other experience - xDebug Java (Spring) / GoLang (minor) Russian English German - PHPUnit JS + jQuery + Vue.js (minor) native B2+ B1 - PSR / PHPCS WordPress + ACF (advanced) EXPERIENCE EDUCATION Feb 2018 - NOW PHP Developer in AboutYou Gmbh. Hamburg, 2010 - 2014 Orenburg State University Germany. specialty: computers, systems and Phalcon / Laravel / Laminas projects networks development. Mostly working on a cache diploma: A tool to manage layer with usage of Elasticsearch and Redis. customer sales department was written on pure PHP+MySQL and Maj 2016 - Feb 2018 PHP/JS Developer in LOFTSCHOOL LTD, Loftschool group. Saint-Petersburg, Russia. php-gd + dompdf Development and maintaining education 2006 - 2010 Orenburg Information Technologies College platform using Laravel. Implemented e.g. backoffice, flexible discounts, analyzing specialty: Automated systems center and social/payment network diploma: The self-made Linux integrations. distributive booted via PXE network to use on nonHDD Nov 2015 - Maj 2016 PHP Developer in ITLOFT LTD, Loftschool group. workstations with control panel Saint-Petersburg, Russia. using bash scripts + PHP as Have developed over 50 websites, mostly background.
    [Show full text]
  • Security Issues and Framework of Electronic Medical Record: a Review
    Bulletin of Electrical Engineering and Informatics Vol. 9, No. 2, April 2020, pp. 565~572 ISSN: 2302-9285, DOI: 10.11591/eei.v9i2.2064 565 Security issues and framework of electronic medical record: A review Jibril Adamu, Raseeda Hamzah, Marshima Mohd Rosli Faculty of Computer and Mathematical Sciences, Universiti Teknologi MARA, Malaysia Article Info ABSTRACT Article history: The electronic medical record has been more widely accepted due to its unarguable benefits when compared to a paper-based system. As electronic Received Oct 30, 2019 medical record becomes more popular, this raises many security threats Revised Dec 28, 2019 against the systems. Common security vulnerabilities, such as weak Accepted Feb 11, 2020 authentication, cross-site scripting, SQL injection, and cross-site request forgery had been identified in the electronic medical record systems. To achieve the goals of using EMR, attaining security and privacy Keywords: is extremely important. This study aims to propose a web framework with inbuilt security features that will prevent the common security vulnerabilities CodeIgniter security in the electronic medical record. The security features of the three most CSRF popular and powerful PHP frameworks Laravel, CodeIgniter, and Symfony EMR security issues were reviewed and compared. Based on the results, Laravel is equipped with Laravel security the security features that electronic medical record currently required. SQL injection This paper provides descriptions of the proposed conceptual framework that Symfony security can be adapted to implement secure EMR systems. Top vulnerabilities This is an open access article under the CC BY-SA license. XSS Corresponding Author: Jibril Adamu, Faculty of Computer and Mathematical Sciences, Universiti Teknologi MARA, 40450 Shah Alam, Selangor, Malaysia.
    [Show full text]
  • Eesti Harrastusteatrite Liidu Etendusstatistika Andmebaasi Ja Rakenduse Arendus
    TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Aivar Romandi 175278IDDR Eesti Harrastusteatrite Liidu etendusstatistika andmebaasi ja rakenduse arendus Diplomitöö Juhendaja: Kristjan Karmo MBA Tallinn 2021 Autorideklaratsioon Kinnitan, et olen koostanud antud lõputöö iseseisvalt ning seda ei ole kellegi teise poolt varem kaitsmisele esitatud. Kõik töö koostamisel kasutatud teiste autorite tööd, olulised seisukohad, kirjandusallikatest ja mujalt pärinevad andmed on töös viidatud. Autor: Aivar Romandi 16.05.2021 2 Annotatsioon Diplomitöö eesmärk on Eesti Harrastusteatrite Liidule etendusstatistika andmebaasi ja rakenduse arendamine. Sissejuhatuse peatükis on kirjeldatud diplomitöös lahendatav probleem ja selle taust. Ülesande püstituse peatükis on kirjeldatud diplomitöö tulemusel valmiva rakenduse vajadused. Lahenduse valiku peatükis on kirjeldatud erinevad võimalikud lahendused sissejuhatuses tõstatatud põhiprobleemile ning miks valiti just selline lahendus. PHP raamistiku valiku peatükis on lühidalt kirjeldatud erinevad PHP raamistikud ning mille alusel valis autor välja rakenduse arendamiseks sobiva raamistiku. Aruandlusvajaduse peatükis on põhjendatud aruannete vajalikkust ning kirjeldatud rakenduses genereeritavate aruannete sisu. Rakenduse ja andmebaasi arendusprotsessi kirjelduse peatükis on välja toodud rakenduse arendusprotsessi tsükkel ja selle komponendid. Rakenduse kirjelduses on kirjeldatud autori tööna valminud rakenduse sisu. Andmebaasi kirjelduses on kirjeldatud autori tööna valminud andmebaasi sisu. Diplomitöö tulemusena
    [Show full text]
  • Phpword Documentation Release 0.18.2
    PHPWord Documentation Release 0.18.2 The PHPWord Team Jun 04, 2021 Contents 1 Introduction 3 1.1 Features..................................................3 1.2 File formats................................................4 1.3 Contributing...............................................5 2 Installing/configuring 7 2.1 Requirements...............................................7 2.2 Installation................................................7 2.3 Using samples..............................................8 3 General usage 9 3.1 Basic example..............................................9 3.2 PHPWord Settings............................................ 10 3.3 Document settings............................................ 11 3.4 Document information.......................................... 13 3.5 Measurement units............................................ 13 3.6 Document protection........................................... 13 3.7 Automatically Recalculate Fields on Open............................... 14 3.8 Hyphenation............................................... 14 4 Containers 15 4.1 Sections.................................................. 15 4.2 Headers.................................................. 16 4.3 Footers.................................................. 17 4.4 Other containers............................................. 17 5 Elements 19 5.1 Texts................................................... 20 5.2 Breaks.................................................. 22 5.3 Lists..................................................
    [Show full text]
  • Modern Web Application Frameworks
    MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Modern Web Application Frameworks MASTER’S THESIS Bc. Jan Pater Brno, autumn 2015 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or ex- cerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Jan Pater Advisor: doc. RNDr. Petr Sojka, Ph.D. i Abstract The aim of this paper was the analysis of major web application frameworks and the design and implementation of applications for website content ma- nagement of Laboratory of Multimedia Electronic Applications and Film festival organized by Faculty of Informatics. The paper introduces readers into web application development problematic and focuses on characte- ristics and specifics of ten selected modern web application frameworks, which were described and compared on the basis of relevant criteria. Practi- cal part of the paper includes the selection of a suitable framework for im- plementation of both applications and describes their design, development process and deployment within the laboratory. ii Keywords Web application, Framework, PHP,Java, Ruby, Python, Laravel, Nette, Phal- con, Rails, Padrino, Django, Flask, Grails, Vaadin, Play, LEMMA, Film fes- tival iii Acknowledgement I would like to show my gratitude to my supervisor doc. RNDr. Petr So- jka, Ph.D. for his advice and comments on this thesis as well as to RNDr. Lukáš Hejtmánek, Ph.D. for his assistance with application deployment and server setup. Many thanks also go to OndˇrejTom for his valuable help and advice during application development.
    [Show full text]
  • Design Patterns in PHP and Laravel — Kelt Dockins Design Patterns in PHP and Laravel
    Design Patterns in PHP and Laravel — Kelt Dockins Design Patterns in PHP and Laravel Kelt Dockins [email protected] Design Patterns in PHP and Laravel Kelt Dockins Dolph, Arkansas USA ISBN-13 (pbk): 978-1-4842-2450-2 ISBN-13 (electronic): 978-1-4842-2451-9 DOI 10.1007/978-1-4842-2451-9 Library of Congress Control Number: 2016961807 Copyright © 2017 by Kelt Dockins This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]
  • Vulnerable Web Application Framework
    University of Rhode Island DigitalCommons@URI Open Access Master's Theses 2015 Vulnerable Web Application Framework Nicholas J. Giannini University of Rhode Island, [email protected] Follow this and additional works at: https://digitalcommons.uri.edu/theses Recommended Citation Giannini, Nicholas J., "Vulnerable Web Application Framework" (2015). Open Access Master's Theses. Paper 629. https://digitalcommons.uri.edu/theses/629 This Thesis is brought to you for free and open access by DigitalCommons@URI. It has been accepted for inclusion in Open Access Master's Theses by an authorized administrator of DigitalCommons@URI. For more information, please contact [email protected]. VULNERABLE WEB APPLICATION FRAMEWORK BY NICHOLAS J. GIANNINI A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE IN COMPUTER SCIENCE AND STATISTICS UNIVERSITY OF RHODE ISLAND 2015 MASTER OF SCIENCE THESIS OF NICHOLAS GIANNINI APPROVED: Thesis Committee: Major Professor Victor Fay-Wolfe Lisa DiPippo Haibo He Nasser H. Zawia DEAN OF THE GRADUATE SCHOOL UNIVERSITY OF RHODE ISLAND 2015 ABSTRACT Utilizing intentionally vulnerable web applications to teach and practice cyber security principles and techniques provides a unique hands-on experience that is otherwise unobtainable without working in the real world. Creating such applications that emulate those of actual businesses and organizations without exposing actual businesses to inadvertent security risks can be a daunting task. To address these issues, this project has created Porous, an open source framework specifically for creating intentionally vulnerable web applications. The implementation of Porous offers a simplified approach to building realistic vulnerable web applications that may be tailored to the needs of specific cyber challenges or classroom exercises.
    [Show full text]
  • Krahasimi I Framework-Ave Zend Framework Dhe Laravel Ne PHP
    University of Business and Technology in Kosovo UBT Knowledge Center Theses and Dissertations Student Work Summer 7-2020 Krahasimi i Framework-ave Zend Framework dhe Laravel ne PHP Gentrit Gruda Follow this and additional works at: https://knowledgecenter.ubt-uni.net/etd Part of the Computer Sciences Commons Programi për Shkenca Kompjuterike dhe Inxhinierise Krahasimi i Framework-ave Zend Framework dhe Laravel ne PHP Shkalla Bachelor Gentrit Gruda Korrik / 2020 Prishtinë Programi për Shkenca Kompjuterike dhe Inxhinierise Punim Diplome Viti akademik 2013 – 2014 Gentrit Gruda Krahasimi i Framework-ave Zend Framework dhe Laravel ne PHP Mentor: MSc. Betim Gashi Korrik / 2020 Ky punim është përpiluar dhe dorëzuar në përmbushjen e kërkesave të pjesshme për Shkallën Bachelor ABSTRAKT Zhvillimi i Teknologjive i cili sa vjen e rritet, bien më vetë një nevojë e cila është që çdo gjë që zhvillohën, të zhvillohën më shpejtë, më stabil dhe më pak probleme. Pikërisht këtë problem disa individë më idetë e tyre mundohën ta largojnë duke zhvilluar framework-a të cilat na ndihmojnë të zhvillojmë webfaqe apo aplikacion sa më shpejtë që të jetë e mundur, por duke mos anashkaluar cilësinë dhe saktësinë në vetë. Kur zhvillohën kësi framework-a, zhvillohën që të lehtësohet puna e një zhvilluesi, duke i ndihmuar dhe lehtësuar futjen e të dhënave në bazën e shënimeve, krijimin e aplikacioneve etj. Për të lehtësuar punën, shumë kompani dhe zhvilluës kanë krijuar vegla dhe framework-at në mënyrë që të bëjnë më të lehtë punën e zhvilluësve. Dy framework-at më të njohura aktualisht janë Laravel dhe Zend, të cilat kanë ofruar zgjidhjët e tyre për zhvillimin e aplikacioneve të vogla, të mesme dhe të mëdha.
    [Show full text]
  • Implementación De Framework De Desarrollo Web Durante Un Proyecto”
    UNIVERSIDAD POLITÉCNICA DE SINALOA PROGRAMA ACADÉMICO DE INGENIERÍA EN INFORMÁTICA Tesina “Implementación de Framework de desarrollo web durante un proyecto” Para obtener la acreditación de las estadías profesionales y contar con los créditos para el grado de Ingeniero en Informática. Autor: Bernal Corral Daniel Asesor: M. C. Alejandro Pérez Pasten Borja Asesor OR: Ing. Omar Vidaña Peraza Mazatlán, Sinaloa 13 de Diciembre del 2019 Agradecimientos Agradezco a mis padres por brindarme todo su apoyo durante mis estudios, por darme las clases más importantes, por haber hecho posible que llegara a este momento, por enseñarme que no siempre todo sale perfecto y que debo esforzarme para obtener lo que quiero, por darme ánimos para seguir, por preocuparse por mí y esforzarse para que mi vida fuera mejor. A mi asesor por aconsejarme y corregir los errores que cometí durante el desarrollo de la tesina, por tomarse el tiempo para ver cada detalle y hacer recomendaciones, sugerir opciones, etc. A mi hermano por ayudarme a no rendirme, por asumir su rol de hermano mayor y tratar de guiar, por preocuparse por mí y ayudarme siempre que lo he necesitado. A los profesores que he tenido a lo largo de mis estudios y que me aportaron un poco de su conocimiento para enriquecer el mío. A todos mis compañeros que me ayudaron a hacer más amenas las clases. 6 ÍNDICE TEMÁTICO Índice de imágenes. 9 Resumen. ….. .11 Abstract. …. .11 Introducción. 11 Capítulo I. .. ... …12 1. Antecedentes. .. 13 1.1. Localización. .. ….. 13 1.2. Objetivos de la institución. …………….. 13 1.3. Visión. .14 1.4.
    [Show full text]
  • Cakephp Cookbook Documentation Release 4.X
    CakePHP Cookbook Documentation Release 4.x Cake Software Foundation Sep 25, 2021 Contents 1 CakePHP at a Glance 1 Conventions Over Configuration........................................1 The Model Layer................................................1 The View Layer.................................................2 The Controller Layer..............................................2 CakePHP Request Cycle............................................3 Just the Start...................................................4 Additional Reading...............................................4 2 Quick Start Guide 13 Content Management Tutorial......................................... 13 CMS Tutorial - Creating the Database..................................... 15 CMS Tutorial - Creating the Articles Controller................................ 19 3 4.0 Migration Guide 29 Deprecated Features Removed......................................... 29 Deprecations.................................................. 29 Breaking Changes................................................ 31 New Features.................................................. 37 4 Tutorials & Examples 41 Content Management Tutorial......................................... 41 CMS Tutorial - Creating the Database..................................... 43 CMS Tutorial - Creating the Articles Controller................................ 47 CMS Tutorial - Tags and Users......................................... 56 CMS Tutorial - Authentication......................................... 64 CMS Tutorial - Authorization.........................................
    [Show full text]
  • Development of a Blog System Using Codeigniter Framework
    Li Yicheng Development of a blog system using CodeIgniter framework Development of a blog system using CodeIgniter framework Li Yicheng Bachelor‟s thesis Spring 2011 Degree Programme in Business Information Technology Oulu University of Applied Sciences Abstract School: Oulu University of Applied Sciences Programme: Degree Programme in Business Information Technology Author: Li Yicheng Supervisor: Matti Viitala The title of thesis: Development of a blog system using CodeIgniter framework Year: 2011 Number of pages + number of appendices: 59 This thesis is project based thesis. It is a simple blog system. In the thesis will introduces the development blog background and discuss the design and development platform targets, set out the structure of the website and the function modules and introduce how to build this system step by step. The whole system can be divided into three parts: Information services, Album service, Message service. However, due to the large size of the project, It cannot be explained how to make it step and step. So in this thesis will be focus more on the main part. In the theory part, will be discussed the exactly advantages of those programming language which will be used in the project. In the tutorial part, will be introduced how to build this blog system. Use the programming codes and pictures which from the project to describe clearly. This purpose of this bachelor‟s thesis is to introduce the advantages and techniques of PHP framework (CodeIgniter) and jQuery. Another purpose is to build an example system which is using PHP framework and jQuery to student who want to learn more about programming.
    [Show full text]
  • Elgg Documentation Release Master
    Elgg Documentation Release master Various Sep 24, 2021 Contents 1 Features 3 2 Examples 5 3 Continue Reading 7 i ii Elgg Documentation, Release master Elgg( pronunciation) is an open source rapid development framework for socially aware web applications. It is a great fit for building any app where users log in and share information. Contents 1 Elgg Documentation, Release master 2 Contents CHAPTER 1 Features • Well-documented core API that allows developers to kick start their new project with a simple learning curve • Composer is the package manager of choice that greatly simplifes installation and maintenance of Elgg core and plugins • Flexible system of hooks and events that allows plugins to extend and modify most aspects of application’s functionality and behavior • Extendable system of views that allows plugins to collaborate on application’s presentation layer and built out complex custom themes • Cacheable system of static assets that allows themes and plugins to serve images, stylesheets, fonts and scripts bypassing the engine • User authentication is powered by pluggable auth modules, which allow applications to implement custom authentication protocols • Security is ensured by built-in anti CSRF validation, strict XSS filters, HMAC signatures, latest cryptographic approaches to password hashing • Client-side API powered by asynchronous JavaScript modules via RequireJS and a build-in Ajax service for easy communication with the server • Flexible entity system that allows applications to prototype new types of content and user interactions
    [Show full text]