Prerequisites โ installation of Homebrew and asdf on Ubuntu
๐ Official Documentation
โญ Popular Frameworks
(ordered from lowest to highest learning curve)
- CodeIgniter โ https://codeigniter.com/user_guide/
- Laravel โ https://laravel.com/docs
- Symfony โ https://symfony.com/doc
๐ ๏ธ Installation on Ubuntu
sudo apt update
sudo apt install php php-cli php-common php-mbstring php-xml php-curl php-zip
๐บ Installation with Homebrew
brew install php
๐ฆ Standard package manager: Composer
Installation:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
Verify:
composer --version
๐ง Install different versions with ASDF
Dependencies:
sudo apt update
sudo apt install autoconf bison build-essential libxml2-dev libssl-dev \
libcurl4-openssl-dev pkg-config re2c libsqlite3-dev
Plugin + version:
asdf plugin add php
asdf install php 8.2.12
asdf global php 8.2.12
๐ Example .tool-versions
php 8.2.12
๐โถ๏ธ Create and run a PHP file
Create file: touch hola.php
Content of hola.php:
<?php
echo "Hola Mundo PHP\n";
PHP can be run in 2 ways: as a system file, which makes it useful for local scriptsโyou could replace bash scripts, for exampleโand in a web server. PHP already comes with an embedded server, but itโs more common to use it with Apache or Nginx.
Run locally:
php hola.php
Embedded server:
php -S localhost:8000
๐ฆ Basic example in PHP
What it does:
- Defines the name of the query parameter.
- Gets the query parameter value from the URL.
-
$_GETis used to access query parameters. -
htmlspecialcharsis used for security, to prevent XSS attacks by converting special characters like<and>into HTML entities.
-
- It draws the value received through the query parameter inside the
<h1>tag.
๐ Create file: touch index.php
โถ๏ธ Content of index.php:
<?php
$paramName = 'username';
$textoRecibido = isset($_GET[$paramName])
? htmlspecialchars($_GET[$paramName])
: "No se ha proporcionado un nombre.";
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Mensaje Recibido</title>
</head>
<body style="text-align: center">
<h1>Nombre de usuario en la URL: "<?php echo $textoRecibido; ?>"</h1>
<p>Prueba a cambiar el valor de `texto` en la barra de direcciones.</p>
<b><a href="/test.php?texto=cambiado%20en%20url">Click para cambio en url</a></b>
</body>
</html>
run the project / start the server
php -S localhost:8000
๐ visit:
http://localhost:8000/?username=Homero

Top comments (0)