Caligrafy is a new and modern MVC framework for PHP that was built from the ground up to provide easy and elegant ways for novice developers to build sophisticated and modern web applications. We've laid a solid foundation of security, social, e-commerce, analytics and machine learning features so that you focus your genius on your ideas.
Caligrafy bridges the power of server-side languages like PHP with the sophistication of client-side languages like Javascript to expose you to how the most advanced Web capabilities are built.
In this video we introduce you to the Caligrafy framework and to the different components that are used in it.
- PHP > 7.2
- MySql > 5.6
- A Apache/MySql/PHP server already installed locally OR Docker
- Git and Composer
- curl, mbstring, openssl, mcrypt, gd, bcmath, ext-intl, headers and redirect modules must be enabled in your servers
In this video we introduce you to the Caligrafy framework and to the different components that are used in it.
-
Run the following code from the terminal to get the latest version of Caligrafy
composer create-project -s dev caligrafy/caligrafy-quill <optionally specify a folder name. default: caligrafy-quill>
-
Start the local Apache server. Set up a local server Or use the Docker installation
-
Run the following code in from the Caligrafy root folder to initialize the framework
php caligrafer.php server start #or .bin/caligrafer server start
Note that the Caligrafer Initialize command breaks all
git
links.- If you would like to create a
git
repo for your application, it is recommended that you do so after you initialize it. - If you are pulling an application built in Caligrafy from Github and you would like to preserve the
git
connection in order to pull updates regularly, it is recommended that you proceed with the manual installation instead.
- If you would like to create a
-
Add/Modify the following to the .env file if not accurate:
APP_ROOT=<caligrafy root folder. default: caligrafy-quill>
-
You are good to go! If the quick installation does not complete successfully, proceed with the manual installation
Testing the Installation
- You can test if the framework is working by visiting
http://localhost:<server port, default 80>/<caligrafy root folder. default: caligrafy-quill>
in the browser.
In this video we show you how Caligrafy can be installed and run without setting up any development environment.
This method requires Docker to be installed on your local machine. With Docker, you no longer need to go through the hassle of having an Apache server installed locally to run PHP and MySQL.
-
If you have PHP and Composer installed on your machine, check the
Quick installation
. -
If you don't have Composer then pull the code from github (You can either clone the repo or download the zip file)
-
Make sure Docker is installed and is running on your machine
-
Run the following code from the Caligrafy root folder to start the Caligrafy server
#if you have php php caligrafer.php server start #in all cases .bin/caligrafer server start
-
Add/Modify the following to the .env file if not accurate:
APP_ROOT=''
(leave blank) -
Run
server stop
instead ofserver start
to stop the server at all time
Testing the Installation
- Once started, you can access the website locally via
http://localhost:8080
Testing the Database provided in Docker
- In both commands, a
phpmyadmin
instance has been added and can be accessible athttp://localhost:8077/
- This is a web client for MySQL. It will allow you easy access to your Database.
- Username:
root
- Password:
root
- Username:
- Pull the code from github (You can either clone the repo or download the zip file)
- It is recommended to place the repo at the Server Document Root level
- Go to the downloaded repo and create a .env file by copying the example
cp .env.example .env
- Create an
APP_KEY
and anAPI_KEY
in the .env file. You can use Caligrafer to generate API keys for you by runningphp caligrafer.php generatekeys
and adding the generated keys to the .env file - Add the following to the .env file if not present:
APP_ROOT=<caligrafy root folder. default: caligrafy-quill>
. If caligrafy is not installed at the Server Document Root level, refer to the Different Root Folder instructions. - Change the other values in .env file to match your local or production server settings
- Run
composer install
to get all the dependencies needed - Initialize the application folder by running the following
cp -r framework/settings/application ./application
- Make the folder
/public/uploads/
writable if you intend to allow uploads in your application. You will need to run the commandsudo chmod -R 777 /public/uploads
- You are good to go!
- You can test if the framework is working by visiting
http://localhost:<server port, default 80>/<caligrafy root folder. default: caligrafy-quill>
in the browser.
For more advanced installation, check the documentation here
Caligrafy is a full-stack framework that leverages the power of server-side languages such as PHP with the power of client-side languages such as Javascript to help you build powerful and sophisticated web applications.
Caligrafy is built with an MVC architecture pattern that separates the business logic from the presentation layers. The Caligrafy MVC established an arsenal of methods and features that ensure that the separation of concerns is maintained between business and presentation layers.
Caligrafy comes pre-packaged with ready-to-use modern features. In few lines, you can start accepting credit card payments, ach payments, cryptocurrency payments, building chatbots and assistants. In one line of code, your application can have rich structured data and can be ready for social sharing. In no time, your application can have a REST-API exposed for third-party applications. And many others...
Caligrafy supports VueJS as an alternative to using its template engine. VueJS complements Caligrafy in its ability to create powerful and nimble user experiences in the "View" layer of an MVC architecture. If you are a PHP developer, Caligrafy makes it easy for you to use VueJS. If you are a Javascript developer, Caligrafy makes it easy for you to not be overwhelmed by PHP.
Caligrafy integrates machine learning capabilities at its core to help you build artificial intelligence seemlessly into your application.
Caligrafy has a built-in and powerful template engine that can be used to create sophisticated user experiences easily.
Caligrafy is closer to bare-bone programming than other frameworks out there. While it delivers equivalent - if not more powerful - features, it is built from the ground up with developers in mind.
Caligrafy is committed to providing continuous support to its community of developers through an extensive online Documentation, Online video tutorials on its youtube channel, training courses on Udemy and live help through Slack, Facebook and Github.
This framework uses several third-party librairies that are included in the distribution
- Phug (PHP Pug) is used for creating powerful HTML views and templates
- GUMP Validation is used to provide an easy and painless data validation and filtering
- dotEnv is used to provide the capability of setting up environment variables for both local and production servers
- claviska/SimpleImage is used to provide the ability to do server-side manipulations on images
- stripe/stripe-php is used for payment features
- coinbase/coinbase-commerce is used for cryptopayment features
We have created a rigorous documentation to help you understand the basics of the framework and to get you started as quickly as possible
Caligrafy is a modern MVC framework that leverages the powerful technologies that fuel each of the M (Model), the V (View) and the C (Controller). Vue.js is a modern and progressive Javascript framework that has been built from the ground up just like Caligrafy. Vue.js empowers you to create powerful and sophisticated Views. This framework integrates seamlessly with Vue.js to combine the best of PHP with the best of JS.
In this video, we show how VueJS can be used with Caligrafy in 2 different ways: 1) as a library to build simple web applications and 2) as a fully integrated front-end framework to build large-scale applications.
In this section, we cover the basics of Vue.js and we illustrate how it could be used quickly as a library.
- Setting up Vue.js as a library
- Understanding the flow of information
- Understanding structure
- Routes
- Requests
- Forms
- Validations
- Components
In order to build large scale applications using Vue, we need the ability to leverage the powerful capabilities of Vue such as Single Page Application (SPA) and Single File Components (SFC).
- Setting up the Vue application
- Routing for Single Page Applications
- Single File Components
- State Management
Caligrafy provides easy ways to include Artificial Intelligence and Machine Learning to offer features such as Bots, Face Detection and Recognition.
- Creating Bots with Watson
- Face Detection and Recognition
- Machine Learning
- OpenAI: ChatGPT, GPTs, DALL.E
- OpenAI: Assistants
-
Caligrafy is an outstanding framework for educational purposes. We constantly develop instructional video materials to illustrate the main features of the framework. Stay on the look for more video tutorials on our youtube channel.
-
Caligrafy offers online courses that give you all the basics that you need to create powerful applications with Caligrafy.
There are several ways for the Caligrafy community to connect:
-
github: You can always use github to stay up to date with the roadmap of Caligrafy, to post issues and to track when feature requests and issues are done
-
slack: Joining our slack group is a great way to exchange with other members of the community, to get help on using the framework and to discuss any issues or features.
-
facebook Caligrafy Group: Joining our Caligrafy group on facebook gives you more ways to interact with the community and to share success stories.
We are always here to help when you need us. If you need assistance getting started or if you need help understanding how Caligrafy can be useful to you, we can help. Reach out to us by joining our slack channel. Reach out to us
Your support keeps us going. If you like Caligrafy, there are several ways you could contribute:
- Promote us: On our website, you can share our page with your friends and fans caligrafy.com
- Sponsor us: You sponsor our work in multiple different ways on Github. Your contributions can help us keep our commitments to the developer community. Github Sponsorship
- Fund our project: You can fund our project on Kickposter. Kickposter is an application that was built using earlier versions of Caligrafy.