Tutorials
Application
- Working with Application. It explains basic concept of Fano Framework web application.
- Dependency Container. Explains dependency injection in Fano Framework.
- Dispatcher. Explains basic concept of dispatcher.
- CGI Environment. Tutorial on how to read server environmental variables.
- Configuration. How to setup and read application settings.
- Error Handler. How to handle error in Fano Framework.
- Middlewares. It explains middleware concept and how to use it in Fano Framework web application.
- Working with Router. It explains how to setup application route and associate URL path pattern with code that handle it.
Request and Response
- Working with Request. It explains how to get query string parameters, read request body data, read cookie and handle request with JSON body.
- Working with Response. It explains how to return response in various format such as HTML, JSON or binary response, for example, image and also setting response cookie. Also, it explains how to set response header or redirect to other location or how to serve static files.
- Handling File Upload. It explains how to work with file upload.
- Working with Session. It explains how to manage state between requests.
MVC
- Working With Controllers explains how to use built-in controller classes or create you own custom implementation for handling request.
- Working With Views explains how to handle presentation logic so that application can return response as HTML, JSON or binary format such as image or PDF files.
- Working With Models
Security
- Handling CORS discusses how to handle Cross-origin Resource Sharing (CORS) issue in Fano Framework.
- Form Validation. It explains how to validate form input data including how to use built-in validation rules or creating your own validation rule.
- CSRF Protection discusses how to protect application from Cross-site request Forgery (CSRF) attack.
- HTTP Verb Tunnelling explains about how to override HTTP verb such as
PUT
,PATCH
andDELETE
. - HTTP Authentication discusses authentication using basic, digest, bearer token authentication. It is also related to JSON Web Token.
- XSS Protection
- Clickjacking Protection
- Password hash explains how to properly hash password using Argon2i, SCrypt, BCrypt password hash algorithm.
- JSON Web Token (JWT) discusses various topics regarding JWT such as how to generate, sign and verify JWT token with Fano Framework.
Utilities
- Using Loggers explains how to log to syslog, file, database or email.
- Use HTTP client to call API
- Sending email
- Identifying client user-agent
- Working with regular expression
- Helper functions
- Rate limiting request
Database
- Working with Database explains how to work with database such as MySQL, PostgreSQL, Firebird, SQLite or other database via ODBC.
Deployment
- Deploy Fano Framework web application on various server setup
- Deploy as CGI application explains how to deploy CGI web application with Apache mod_cgi or mod_cgid.
- Deploy as FastCGI application explains how to deploy FastCGI web application using reverse proxy with Apache mod_proxy_fcgi or mod_fcgid module or Nginx.
- Deploy as SCGI application explains how to deploy SCGI web application using reverse proxy with Apache mod_proxy_scgi module or Nginx.
- Deploy as uwsgi application explains how to deploy uwsgi web application using reverse proxy with Apache mod_proxy_uwsgi module or Nginx.
- Deploy as http application explains how to deploy HTTP web application using reverse proxy with Apache mod_proxy_http module or Nginx or as stand-alone web server.
- Deploy Fano web application with web server as load balancer explains how to deploy and load balance several Fano Framework web applications using Apache or Nginx load balancer.
- Deploy using Docker explains how to deploy Fano web application inside Docker container.
Debugging
- Debugging. It explains how to debug Fano Framework web application with IDE such as Visual Studio Code or Lazarus.
Known Issue
- Issue with GNU Linker
- Issue with development tools library search path
- Issue on FreeBSD
- Issue with Free Pascal 3.2.0
- Missing libmicrohttpd development package
- Missing libcurl development package
- Missing /etc/fpc.cfg
- Missing MySQL client library
- Missing ODBC client library
- Memory leak due to database shutdown
- Indy memory leak issue
- Fano with fcl-web compiled with FPC 3.0.4 returns empty response