Tag: php

  • Post #52 Jakie są PHP i Python

    Post #52 Jakie są PHP i Python

    Jeżeli chcesz się dowiedzieć jakie są różnice i podobieństwa PHP vs. Python ten post jest dla Ciebie.

    Zacznijmy jakie są podobieństwa:

    Dynamiczne typowanie

    Zarówno PHP, jak i Python mają obszerne biblioteki standardowe, które ułatwiają wykonywanie typowych zadań, takich jak operacje na plikach, manipulacje stringami czy obsługa baz danych.

    Obiektowość Oba języki wspierają programowanie obiektowe, umożliwiając pisanie kodu zorientowanego na klasy i obiekty.

    Społeczność i dokumentacja Zarówno PHP, jak i Python mają dużą społeczność programistów, co oznacza, że dostępnych jest wiele zasobów edukacyjnych, wtyczek i wsparcia.

    $x = 10; // PHP
    
    
    
    x = 10  # Python
    
    
    

    Wszechstronność Oba języki są szeroko stosowane w różnych dziedzinach:

    PHP jest głównie używany w aplikacjach webowych po stronie serwera.

    Python ma szerokie zastosowanie, od tworzenia aplikacji webowych po uczenie maszynowe i analizę danych.

    Bogata biblioteka standardowa

    Zarówno PHP, jak i Python mają obszerne biblioteki standardowe, które ułatwiają wykonywanie typowych zadań, takich jak operacje na plikach, manipulacje stringami czy obsługa baz danych.

    Obiektowość

    Oba języki wspierają programowanie obiektowe, umożliwiając pisanie kodu zorientowanego na klasy i obiekty.

    Społeczność i dokumentacja

    Zarówno PHP, jak i Python mają dużą społeczność programistów, co oznacza, że dostępnych jest wiele zasobów edukacyjnych, wtyczek i wsparcia.

    Różnice miedzy PHP i Pythonem

    Kategoria PHP Python

    Cel projektowy PHP został stworzony z myślą o aplikacjach webowych. Python jest językiem ogólnego przeznaczenia (web, AI, analiza danych, automatyzacja). Składnia PHP ma bardziej złożoną składnię, czasem przypominającą C. Python stawia na prostotę i czytelność dzięki znaczeniom wcięć i minimalizacji nawiasów.

    Prędkość rozwoju PHP jest mniej intuicyjny w projektach wieloplatformowych i bardziej skomplikowanych. Python pozwala na szybki rozwój aplikacji dzięki przejrzystości i wszechstronności.

    PHP jest mniej intuicyjny w projektach wieloplatformowych i bardziej skomplikowanych. Python pozwala na szybki rozwój aplikacji dzięki przejrzystości i wszechstronności.

    Frameworki Popularne frameworki PHP to Laravel, Symfony i WordPress. Popularne frameworki Python to Django, Flask.

    Deklaracja zmiennych W PHP zmienne zawsze zaczynają się od znaku $. W Pythonie zmienne są deklarowane bez specjalnych znaków. Hosting PHP jest bardziej rozpowszechniony w klasycznych hostingach webowych. Python wymaga bardziej zaawansowanego hostingu (np. VPS, chmur).

    Asynchroniczność PHP ma ograniczone wsparcie dla asynchroniczności (np. w Swoole). Python ma wbudowane wsparcie dla asynchroniczności w bibliotece asyncio.

    Środowisko uruchomieniowe Najczęściej uruchamiany jako moduł serwera (np. Apache, Nginx). Python może być uruchamiany jako skrypt, aplikacja standalone lub w środowisku serwerowym.

    Popularność w AI PHP nie jest szeroko stosowany w AI ani analizie danych. Python jest liderem w AI, uczeniu maszynowym, analizie danych i automatyzacji.

    Przykłady kodu

    PHP – Tworzenie prostego endpointu w aplikacji webowej:

    <?php
    header("Content-Type: application/json");
    echo json_encode(["message" => "Hello, world!"]);
    ?>
    
    
    

    Python – Tworzenie prostego endpointu w Flask:

    from flask import Flask, jsonify
    
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return jsonify({"message": "Hello, world!"})
    
    if __name__ == "__main__":
        app.run()
    
    
    

    Kiedy używać PHP, a kiedy Pythona?

    PHP: Idealny do prostych i średnio zaawansowanych aplikacji webowych, szczególnie gdy hosting wymaga prostych technologii. Doskonale nadaje się do projektów opartych na CMS-ach, takich jak WordPress czy Joomla.

    Python: Najlepszy wybór, gdy projekt wymaga analiz danych, uczenia maszynowego, automatyzacji lub zaawansowanych aplikacji webowych. Oba języki mają swoje mocne strony, a wybór zależy od specyfiki projektu, doświadczenia zespołu i środowiska pracy.

    Najczęściej używane słowa kluczowe w PHP

    if, else, elseif – instrukcje warunkowe for, foreach, while, do – pętle function – definicja funkcji class, extends, implements – definicja i dziedziczenie klas public, protected, private – modyfikatory dostępu return – zwracanie wartości z funkcji echo, print – wyświetlanie danych include, require – dołączanie plików

    Najczęściej używane słowa kluczowe w Pythonie

    if, elif, else – instrukcje warunkowe for, while – pętle def – definicja funkcji class – definicja klasy try, except, finally – obsługa wyjątków import, from – importowanie modułów return – zwracanie wartości z funkcji print – wyświetlanie danych with – zarządzanie kontekstem

    Pełne listy słów kluczowych można znaleźć w oficjalnej dokumentacji PHP i Pythona.

    Jeśli jesteś zainteresowany frameworkami, odwiedź post Frameworki PHP i Python

  • Post #51 DB Test PHP MySql Apps

    Post #51 DB Test PHP MySql Apps

    DB Test PHP MySql Apps to prosta aplikacja z zapisem do bazy w środowisku lokalnym. Tworzę projekt edukacujnie i do portfolio. Będzie zawierał dobrą dokumentację jak to przećwiczyć na swoim środowisku lokalnym.

    Fukcjonalność jeszcze nieokkreślona

    Obecnie zawiera tablicę users służącą do logowania – uproszonego bez potwierdzania mailowego. Pole Bio użytkownika do edycji oraz sesję i drobny feauture pokazujący w Toast ile jest zalogowanych użytkowników.

    Dokumentacja Techniczna

    1. Konfiguracja Projektu

    Aby uruchomić projekt lokalnie, wykonałem następujące kroki:

    • Pobrałem i zainstalowałem XAMPP (lub inny lokalny serwer) na swoim komputerze.
    • Utworzyłem folder dla swojego projektu w katalogu htdocs (np. phpsandbox/test-baza).
    • Skopiowałem wszystkie pliki projektu, w tym index.php, register.php, login.php i about.php, do tego folderu.
    • Uruchomiłem Apache i MySQL w panelu sterowania XAMPP.
    • W przeglądarce przeszedłem do //localhost:3000/phpmyadmin, aby skonfigurować bazę danych.

    Konfiguracja Bazy Danych

    Aby skonfigurować bazę danych MySQL i utworzyć niezbędne tabele, wykonałem następujące kroki:

    Utworzyłem nową bazę danych o nazwie baza_test_login_data. W tej bazie danych utworzyłem tabelę o nazwie users z następującymi kolumnami: id – INT, klucz główny, autoinkrementacja firstName – VARCHAR(50), imię użytkownika secondName – VARCHAR(50), nazwisko użytkownika email – VARCHAR(100), unikalny, adres e-mail użytkownika password – VARCHAR(255), hasło bio – TEXT, opcjonalne pole na biografię użytkownika

    Rejestracja Użytkownika

    Plik register.php obsługuje rejestrację użytkownika. Działa w następujący sposób:

    Gdy użytkownik przesyła formularz rejestracyjny, jego dane wejściowe są walidowane, aby upewnić się, że wszystkie pola są wypełnione. Skrypt sprawdza, czy adres e-mail już istnieje w bazie danych. Jeśli tak, wyświetlane jest ostrzeżenie. Jeśli adres e-mail jest unikalny, dane użytkownika są zapisywane, a wyświetlany jest komunikat o sukcesie. Hasło jest przechowywane w postaci haszowanej dla bezpieczeństwa, przy użyciu funkcji password_hash().

    Logowanie Użytkownika

    Plik login.php umożliwia zalogowanie zarejestrowanym użytkownikom:

    Po przesłaniu formularza, adres e-mail i hasło są walidowane względem bazy danych. Jeśli dane uwierzytelniające są poprawne, użytkownik otrzymuje dostęp. Dla bezpieczeństwa funkcja password_verify() jest używana do porównania hasła haszowanego z bazą danych.

    Walidacja i Alerty

    Aby poprawić doświadczenie użytkownika, dodałem alerty Bootstrap dla komunikatów zwrotnych:

    Alert sukcesu: Wyświetlany, gdy użytkownik pomyślnie się zarejestruje. Alert ostrzeżenia: Wskazuje, że adres e-mail jest już używany podczas rejestracji. Alert błędu: Wyświetlany, jeśli wystąpi błąd podczas rejestracji.

    Pliki Kodu i Ich Funkcje

    index.php – Strona główna aplikacji. register.php – Zawiera formularz rejestracyjny i logikę PHP do dodawania użytkowników do bazy danych. login.php – Obsługuje logowanie użytkownika i uwierzytelnianie. about.php – Strona dokumentacji technicznej (ta strona). db.php – Zawiera kod połączenia z bazą danych przy użyciu mysqli. menu.php – Pasek nawigacyjny zawarty na każdej stronie dla łatwej nawigacji.

    Przykładowy Kod Połączenia z Bazą Danych

    Poniżej znajduje się przykład kodu używanego do połączenia z bazą danych w db.php:

    // ...
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    
    // Check connection
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    }
    // ...
    
    
    1. Bezpieczeństwo i Najlepsze Praktyki

    Hasła są haszowane przed przechowywaniem w bazie danych dla bezpieczeństwa. Pole e-mail jest unikalne w bazie danych, zapobiegając duplikatom rejestracji. Używane są przygotowane zapytania, aby zapobiec iniekcji SQL. Dla dodatkowego bezpieczeństwa należy rozważyć implementację SSL i zarządzania sesjami użytkowników.