PHPにせよ、RubyやPythonにせよ、本格的なWebアプリケーションを作るとなると、フレームワークを利用することはよくあります。十分なスキルと利用方法を間違えなければ安全で確実なものが作れます。
チュートリアルやマニュアルを読めばある程度は使えるようになるのが、フレームワークの良いところですね。悩んだり困ったりしても大抵は検索したり、先輩に聞けば解決することが多いのもメリットです。
そこから言語の初心者/中級者から卒業するには、フレームワークを一度自分で作ってみてはいかがですか。フレームワークを始めたばかりの方からすると無謀と言えるかもしれませんね。
多くのWeb系フレームワークがMVCアーキテクチャーを採用しています。このMVCが上手く動作するように設計します。
+ application
config
contoroller
model
view
+ framework
core
helper
libraries
database
index
このようなディレクトリ構成だとわかりやすいかと。すべての入り口はフロントコントローラーになります。
autoloader
routing/dispatcher
base controller
base model
ローダーで各種クラスや設定ファイルを読み込んで初期化、ルーター、ディスパッチャーでURLを分解して行き先を振り分け、ベースとなるコントローラーとモデルをextendすれば良い。乱暴で説明を省略しすぎですが、micro、tiny、very simpleな機能としてはこんな感じでしょうか。githubなんかで色々ありますので、一度見てみると勉強になりますよ。お試しください。