In which Framework CloudOnex Apps are Built?

LP

Liam P Posted on Apr 2 2021
...
Liam P
Share:

This is one of the most common questions we got asked from our customers.

For our applications, this is not a short one-word answer like Laravel or Codeigniter. So we thought it might be useful if we break down this.

We built a custom framework to support our specific needs. We optimize this custom framework to match the features and the performances.

But we didn't reinvent the wheel. We used several excellent, great libraries available on the Internet. Because we didn't use the specific framework, we don't need to depend on a library built for a particular framework.

We used several libraries from the Laravel and the Symfony framework.

So, let's breakdown what we used-

For the Database Management/ ORM

We could not find anything better than Laravel Eloquent ORM for our application. And we use that. To write a custom plugin, you can use the Eloquent ORM, which is autoloaded and shipped with our applications.

For the Documentation Check Laravel Database

Cache

illuminate/cache From the latest version of Laravel.

Filesystem

We used Laravel filesystem.

Console Apps & For the Automation

symfony/console

Templating

We customize the smarty template engine to support our specific needs. Tags are similar to Smarty.

Routing

Our routing system is entirely different from other frameworks. Most of the frameworks depend on the URL-Rewrite feature. But our application is highly portable. You can install it in a sub-folder or along with another application. You do not need to deal with htaccess or custom Nginx configuration. Only enable it when you need it. For our application routing, you do not need to define the routes.

Here is the sample composer.json file to understand dependencies for our applications-

{
  "minimum-stability": "dev",
  "prefer-stable": true,

  "require" : {
    "php": "^7.3.0",
    "ext-curl": "*",
    "ext-json": "*",
    "ext-pdo": "*",
    "authorizenet/authorizenet": "~1.9.6",
    "dragonmantank/cron-expression": "^3.1",
    "erusev/parsedown": "^1.6",
    "ezyang/htmlpurifier": "^4.13",
    "filp/whoops": "^2.7",
    "fzaninotto/faker": "^1.9",
    "guzzlehttp/guzzle": "^6.2",
    "illuminate/cache": "^8.26",
    "illuminate/config": "^8.26",
    "illuminate/console": "^8.26",
    "illuminate/container": "^8.26",
    "illuminate/contracts": "^8.26",
    "illuminate/database": "~8.0",
    "illuminate/events": "^8.26",
    "illuminate/filesystem": "^8.26",
    "illuminate/http": "~8.0",
    "illuminate/support": "~8.0",
    "illuminate/translation": "^8.26",
    "illuminate/validation": "^8.26",
    "intervention/image": "^2.4",
    "jenssegers/date": "^4.0",
    "league/csv": "8.0",
    "mailgun/mailgun-php": "^2.5",
    "monolog/monolog": "^2.1",
    "mpdf/mpdf": "^8.0",
    "nesbot/carbon": "^2.29.1",
    "nexmo/client": "^1.2",
    "paypal/paypal-checkout-sdk": "^1.0",
    "phpoffice/phpspreadsheet": "^1.5",
    "rinvex/countries": "^6.1",
    "sparkpost/sparkpost": "^2.1",
    "stripe/stripe-php": "^7.76",
    "swiftmailer/swiftmailer": "^6.2",
    "symfony/console": "^5.2",
    "symfony/css-selector": "^5.0",
    "symfony/dom-crawler": "^5.0",
    "symfony/process": "^5.2",
    "symfony/var-dumper": "^5.1",
    "tightenco/collect": "^8.19",
    "twilio/sdk": "^6.16",
    "willdurand/email-reply-parser": "^2.8",
    "xemlock/htmlpurifier-html5": "^0.1.11",
    "zbateson/mail-mime-parser": "^1.1"
  }
  ,


  "autoload": {
    "psr-0": {"": "system/autoload/"},
    "psr-4": {
      "": "system/models/"
    }
  },
  "config": {
    "preferred-install": "dist",
    "sort-packages": true,
    "optimize-autoloader": true
  }
}

YOU

Please Login or Register to add a reply.