DEV Community

Cover image for Try VeltoPHP | Lightweight and simple RVC PHP Framework
VeltoPHP
VeltoPHP

Posted on

Try VeltoPHP | Lightweight and simple RVC PHP Framework

Are you tired of bloated frameworks for small projects? Do you just want to build something fast, clean, and flexible without sacrificing structure? Then it's time to try VeltoPHP — a lightweight and simple PHP framework based on the RVC (Route-View-Controller) pattern.

What is VeltoPHP?

VeltoPHP is a minimalist PHP framework built for developers who want more control and less complexity. It's perfect for:

  • Developers who love simplicity.
  • Building small to medium-sized web projects.
  • Rapid prototyping or lightweight MVPs.
  • Learning core PHP with modern structure.

Instead of MVC (Model-View-Controller), VeltoPHP adopts RVC (Route-View-Controller) — a simplified and intuitive structure that skips over-engineered architecture while keeping your code organized and scalable.

Why RVC Instead of MVC?

The RVC approach prioritizes routes and views while allowing you to structure your controllers as needed. In most small to mid-sized apps, the "model" layer can be handled directly through custom classes, raw SQL, or a lightweight ORM of your choice.

Getting Started

You can start a new VeltoPHP project in seconds:


composer create-project veltophp/velto my-project
cd my-project
php velto start

Enter fullscreen mode Exit fullscreen mode

Visit :

Website: https://veltophp.com
GitHub: https://github.com/veltophp

Top comments (18)

Collapse
 
xwero profile image
david duymelinck

While I admire the effort, I see a few red flags in the code.

  • The framework supports PHP 8.0. That version didn't receive security update for over a year.
  • The Axion library is baked in the core. This suggests the framework is not doing well on loose coupling.

As for the statements:

  • RVC is not a real design pattern. A route is not a thing that needs separation, it is just a hook to connect urls to classes or functions.
  • In any MVC framework you can choose how you want to retrieve and manipulate data in the database. The main idea is to keep database actions separate from the controller and the view.
  • You promote the framework for static websites. Static websites need a generator, not a framework.

I suggest you learn more about modern programming to make the framework better.

Collapse
 
veltophp profile image
VeltoPHP

Thanks so much for the detailed feedback, David — I really appreciate it.

  • You're right about PHP 8.0 — it's past EOL, and upcoming versions of Velto will shift to PHP 8.2+ as the minimum.

  • Axion initially started as a part of the core, but it's being separated into its own Composer package to improve modularity and flexibility.

  • As for RVC — you're also right that it's not a formal pattern. I positioned it intentionally as a minimalist routing-view-controller structure to suit small-scale apps or static-style pages that still need routing and templating, without enforcing full MVC conventions.

  • The mention of “static website” was maybe misleading — I meant simple frontend websites (like landing pages, company profiles), not purely static HTML generators. That’s on me for wording it loosely.

  • And I hear your final point — I’m continuously learning, and passionate about evolving Velto into something more robust and modern. Your critique helps a lot. Thank you again!

Collapse
 
xwero profile image
david duymelinck

The best of luck! If i see updates, I will will give my honest opinion.

Thread Thread
 
veltophp profile image
VeltoPHP

Thank you so much David

Collapse
 
kwnaidoo profile image
Kevin Naidoo

Love the initiative, but it seems like Laravel Lite. We need a competitor to Laravel instead. I use Fiber as an alternative to Laravel at times, simply because it's lean and feature-packed.

Here's some of my pain points with Laravel, maybe it'll help:

  1. Fields on models. Like in Django, you add fields to the model, so it's easy throughout your application without any extra effort to just type: user. and get property suggestions. In Laravel, you have to use docblocks and so forth to do the same.

  2. Folder structure is archaic. I prefer HMVC, similar to how Django does it, where each portion of your app is a small module. You would have: controller.php, model.php,routes.php and templates/ inside each app next to each other. This makes life so much simpler than jumping around the filesystem, and it also keeps business logic encapsulated and modular.

Collapse
 
veltophp profile image
VeltoPHP

Thank you so much, Kevin — this is exactly the kind of insight I appreciate 🙏

You're absolutely right — at the moment, VeltoPHP is still closer to a Laravel-lite (with a touch of simplicity-first philosophy). My current goal is to help solo developers and small projects avoid the steep learning curve of full-stack frameworks.

But your suggestions hit home — especially the part about:

  • Model field introspection — I totally agree that the way Django exposes fields is very developer-friendly. I've been thinking about integrating this kind of declarative model system.

  • HMVC modular layout — This really got me thinking. I love the idea of a modular setup where controller, model, view, and routes live together in a single directory per "unit" of logic. It makes onboarding and navigation much easier, and encapsulates logic better.

You’ve inspired me to consider a Velto 2.0 branch, where we might explore a hybrid: fiber-speed, HMVC layout, with optional typed-models.

Would love to chat further or even collaborate if you're up for it! 🙌 Thanks again for taking the time to write all of this.

Collapse
 
kwnaidoo profile image
Kevin Naidoo

Glad that I could help. I've followed you on here, will keep an eye on this project. Quite interesting. I'm more than happy to test out new versions and give feedback.

Thread Thread
 
veltophp profile image
VeltoPHP

Thank you so much! I'm really glad to hear your enthusiasm and support for VeltoPHP. Community feedback means a lot for the development of this project. I'll make sure to keep sharing updates, and I truly appreciate your willingness to test new versions and provide feedback. 🙌

Once again, thank you so much

Collapse
 
mahedi1501 profile image
Mahedi Hasan • Edited
Collapse
 
kwnaidoo profile image
Kevin Naidoo

Thanks looks interesting.

Collapse
 
veltophp profile image
VeltoPHP

To fellow developers who happen to drop by — I'd really appreciate your feedback as well.
This framework is still evolving, and your insights would be incredibly helpful 🙌

Collapse
 
mahedi1501 profile image
Mahedi Hasan

Good efforts

Collapse
 
veltophp profile image
VeltoPHP

Thank you so much Mahedi

Collapse
 
mahedi1501 profile image
Comment deleted
Thread Thread
 
veltophp profile image
VeltoPHP

Yes sure, thats cool

Collapse
 
mahedi1501 profile image
Mahedi Hasan

I will try your framework

Some comments may only be visible to logged-in visitors. Sign in to view all comments.