Move rendering to View Controller, Update Controllers, Remove apps/Services branch
This commit is contained in:
parent
d78176c3b7
commit
9f7558a7fb
|
|
@ -1,20 +1,37 @@
|
|||
<?php
|
||||
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\Controller;
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class AboutController extends Controller
|
||||
class AboutController
|
||||
{
|
||||
public function index(): void
|
||||
public function index()
|
||||
{
|
||||
|
||||
Logger::debug("AboutController::index() - Executing about page rendering.");
|
||||
|
||||
$this->render('pages/about', [
|
||||
'title' => 'About Us - Wizdom Networks',
|
||||
'content' => '<h1>About Wizdom Networks</h1>
|
||||
<p>We specialize in delivering top-notch IT solutions to help your business thrive.</p>'
|
||||
]);
|
||||
try {
|
||||
$data = [
|
||||
'title' => 'About Us - Wizdom Networks',
|
||||
'heroConfig' => [
|
||||
'title' => 'About Wizdom Networks',
|
||||
'description' => 'Who we are and what we do.',
|
||||
'image' => '/assets/images/about-hero.jpg',
|
||||
'cta' => ['text' => 'Contact Us', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>About Wizdom Networks</h1><p>We specialize in IT consulting and technology solutions.</p>"
|
||||
];
|
||||
|
||||
Logger::debug("AboutController::index() - Data prepared successfully.");
|
||||
View::render('pages/about', $data);
|
||||
Logger::info("AboutController::index() - About page rendered successfully.");
|
||||
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("AboutController::index() - Error rendering about page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,37 @@
|
|||
<?php
|
||||
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class ClientsController
|
||||
{
|
||||
// Placeholder for future implementation
|
||||
public function index()
|
||||
{
|
||||
Logger::debug("ClientsController::index() - Executing clients & partners page rendering.");
|
||||
|
||||
try {
|
||||
$data = [
|
||||
'title' => 'Our Clients & Partners - Wizdom Networks',
|
||||
'heroConfig' => [
|
||||
'title' => 'Trusted by Industry Leaders',
|
||||
'description' => 'Our valued clients and strategic partners.',
|
||||
'image' => '/assets/images/clients-hero.jpg',
|
||||
'cta' => ['text' => 'Join Us', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>Our Clients & Partners</h1><p>We collaborate with top organizations to deliver innovative IT solutions.</p>"
|
||||
];
|
||||
|
||||
Logger::debug("ClientsController::index() - Data prepared successfully.");
|
||||
View::render('pages/clients', $data);
|
||||
Logger::info("ClientsController::index() - Clients & partners page rendered successfully.");
|
||||
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("ClientsController::index() - Error rendering clients page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,44 +1,38 @@
|
|||
<?php
|
||||
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\Controller;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
/**
|
||||
* Contact Controller
|
||||
*
|
||||
* This controller handles the logic for rendering the contact page of the application.
|
||||
*/
|
||||
class ContactController extends Controller
|
||||
class ContactController
|
||||
{
|
||||
/**
|
||||
* Index method for the ContactController.
|
||||
*
|
||||
* This method prepares the data for the contact page and renders the corresponding view.
|
||||
*
|
||||
* @throws \Exception If the view cannot be rendered or an error occurs.
|
||||
*/
|
||||
public function index(): void
|
||||
{
|
||||
try {
|
||||
Logger::info("[DEBUG] Entering ContactController::index");
|
||||
Logger::debug("ContactController::index() - Executing contact page rendering.");
|
||||
|
||||
try {
|
||||
// Prepare data for the contact page
|
||||
$data = [
|
||||
'title' => 'Contact Us - Wizdom Networks',
|
||||
'description' => 'Get in touch with our team for inquiries and support.',
|
||||
'heroConfig' => [
|
||||
'title' => 'Get in Touch',
|
||||
'description' => 'Reach out to our team for inquiries and support.',
|
||||
'image' => '/assets/images/contact-hero.jpg',
|
||||
'cta' => ['text' => 'Send a Message', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>Contact Us</h1>
|
||||
<p>We're here to help. Send us a message and we'll get back to you as soon as possible.</p>"
|
||||
];
|
||||
|
||||
// Render the contact page view
|
||||
$this->render('pages/contact', $data);
|
||||
|
||||
Logger::info("[DEBUG] Successfully rendered contact page");
|
||||
} catch (\Exception $e) {
|
||||
// Log and handle any exceptions
|
||||
Logger::debug("ContactController::index() - Data prepared successfully.");
|
||||
View::render('pages/contact', $data);
|
||||
Logger::info("ContactController::index() - Contact page rendered successfully.");
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("ContactController::index() - Error rendering contact page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
throw $e; // Rethrow or handle as needed
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,45 @@
|
|||
<?php
|
||||
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class EmergencySupportController
|
||||
{
|
||||
// Placeholder for future implementation
|
||||
public function index()
|
||||
{
|
||||
Logger::debug("EmergencySupportController::index() - Executing emergency support page rendering.");
|
||||
|
||||
try {
|
||||
$data = [
|
||||
'title' => 'Emergency IT Support - Wizdom Networks',
|
||||
'heroConfig' => [
|
||||
'title' => '24/7 Emergency IT Support',
|
||||
'description' => 'Immediate assistance for critical IT issues.',
|
||||
'image' => '/assets/images/emergency-support.jpg',
|
||||
'cta' => ['text' => 'Get Help Now', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>Emergency IT Support</h1>
|
||||
<p>Round-the-clock emergency IT support for critical issues.</p>",
|
||||
'service_details' => [
|
||||
'features' => [
|
||||
'24/7 availability',
|
||||
'Rapid response',
|
||||
'Critical system recovery'
|
||||
],
|
||||
'pricing' => 'Custom pricing based on severity and scope'
|
||||
]
|
||||
];
|
||||
|
||||
Logger::debug("EmergencySupportController::index() - Data prepared successfully.");
|
||||
View::render('pages/emergency_support', $data);
|
||||
Logger::info("EmergencySupportController::index() - Emergency support page rendered successfully.");
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("EmergencySupportController::index() - Error rendering emergency support page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,45 @@
|
|||
<?php
|
||||
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
class HelpDeskController {
|
||||
// Placeholder
|
||||
}
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class HelpDeskController
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
Logger::debug("HelpDeskController::index() - Executing help desk page rendering.");
|
||||
|
||||
try {
|
||||
$data = [
|
||||
'title' => 'Help Desk - Wizdom Networks',
|
||||
'heroConfig' => [
|
||||
'title' => 'Reliable IT Support',
|
||||
'description' => 'Get expert help with your IT issues.',
|
||||
'image' => '/assets/images/helpdesk-hero.jpg',
|
||||
'cta' => ['text' => 'Submit a Ticket', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>Help Desk Services</h1>
|
||||
<p>We provide fast and reliable IT support for businesses of all sizes.</p>",
|
||||
'service_details' => [
|
||||
'features' => [
|
||||
'24/7 support',
|
||||
'Remote troubleshooting',
|
||||
'On-site assistance'
|
||||
],
|
||||
'pricing' => 'Custom pricing based on service level'
|
||||
]
|
||||
];
|
||||
|
||||
Logger::debug("HelpDeskController::index() - Data prepared successfully.");
|
||||
View::render('pages/helpdesk', $data);
|
||||
Logger::info("HelpDeskController::index() - Help desk page rendered successfully.");
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("HelpDeskController::index() - Error rendering help desk page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +1,32 @@
|
|||
<?php
|
||||
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\Controller;
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class HomeController extends Controller
|
||||
class HomeController
|
||||
{
|
||||
/**
|
||||
* Displays the home page.
|
||||
*/
|
||||
public function index(): void
|
||||
public function index()
|
||||
{
|
||||
Logger::info("HomeController::index() invoked.");
|
||||
|
||||
$data = [
|
||||
'title' => 'Welcome to Wizdom Networks',
|
||||
'description' => 'Your trusted IT consulting partner.',
|
||||
];
|
||||
Logger::debug("HomeController::index() - Executing home page rendering.");
|
||||
|
||||
try {
|
||||
$this->render('pages/home', $data);
|
||||
Logger::info("Home page rendered successfully.");
|
||||
} catch (\Exception $e) {
|
||||
Logger::error("Failed to render home page: " . $e->getMessage());
|
||||
http_response_code(500);
|
||||
echo "An internal error occurred.";
|
||||
$data = [
|
||||
'title' => 'Home - Wizdom Networks',
|
||||
'showSlider' => [
|
||||
'type' => 'hero'
|
||||
],
|
||||
'content' => "<h1>Welcome to Wizdom Networks</h1><p>Your trusted partner for IT Consulting and Services.</p>"
|
||||
];
|
||||
|
||||
Logger::debug("HomeController::index() - Data prepared successfully.");
|
||||
View::render('pages/home', $data);
|
||||
Logger::info("HomeController::index() - Home page rendered successfully.");
|
||||
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("HomeController::index() - Error rendering home page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class ITConsultingController
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
Logger::debug("ITConsultingController::index() - Executing IT consulting page rendering.");
|
||||
|
||||
try {
|
||||
$data = [
|
||||
'title' => 'IT Consulting - Wizdom Networks',
|
||||
'heroConfig' => [
|
||||
'title' => 'Expert IT Consulting Services',
|
||||
'description' => 'Driving your business forward with strategic IT solutions.',
|
||||
'image' => '/assets/images/it-consulting-hero.jpg',
|
||||
'cta' => ['text' => 'Learn More', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>IT Consulting Services</h1>
|
||||
<p>Our expert consultants help you with IT strategy, infrastructure planning, and cloud integration.</p>",
|
||||
'service_details' => [
|
||||
'features' => [
|
||||
'Infrastructure planning',
|
||||
'Cloud integration',
|
||||
'Technology strategy'
|
||||
],
|
||||
'pricing' => 'Custom pricing based on requirements'
|
||||
]
|
||||
];
|
||||
|
||||
Logger::debug("ITConsultingController::index() - Data prepared successfully.");
|
||||
View::render('pages/it_consulting', $data);
|
||||
Logger::info("ITConsultingController::index() - IT consulting page rendered successfully.");
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("ITConsultingController::index() - Error rendering IT consulting page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class ManagedHostingController
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
Logger::debug("ManagedHostingController::index() - Executing managed hosting page rendering.");
|
||||
|
||||
try {
|
||||
$data = [
|
||||
'title' => 'Managed Hosting - Wizdom Networks',
|
||||
'heroConfig' => [
|
||||
'title' => 'Comprehensive Managed Hosting Services',
|
||||
'description' => 'Keeping your business online and optimized.',
|
||||
'image' => '/assets/images/managed-hosting-hero.jpg',
|
||||
'cta' => ['text' => 'Learn More', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>Managed Hosting Services</h1>
|
||||
<p>Our managed hosting solutions ensure reliable performance, security, and uptime.</p>",
|
||||
'service_details' => [
|
||||
'features' => [
|
||||
'Server management',
|
||||
'Performance optimization',
|
||||
'Data backups and recovery'
|
||||
],
|
||||
'pricing' => 'Custom pricing based on hosting requirements'
|
||||
]
|
||||
];
|
||||
|
||||
Logger::debug("ManagedHostingController::index() - Data prepared successfully.");
|
||||
View::render('pages/managed_hosting', $data);
|
||||
Logger::info("ManagedHostingController::index() - Managed hosting page rendered successfully.");
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("ManagedHostingController::index() - Error rendering managed hosting page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class OnlineBrandManagementController
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
Logger::debug("OnlineBrandManagementController::index() - Executing online brand management page rendering.");
|
||||
|
||||
try {
|
||||
$data = [
|
||||
'title' => 'Online Brand Management - Wizdom Networks',
|
||||
'heroConfig' => [
|
||||
'title' => 'Strategic Online Brand Management',
|
||||
'description' => 'Enhance your digital presence and reputation.',
|
||||
'image' => '/assets/images/online-brand-management-hero.jpg',
|
||||
'cta' => ['text' => 'Learn More', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>Online Brand Management Services</h1>
|
||||
<p>We provide strategic online brand management to help businesses strengthen their online presence.</p>",
|
||||
'service_details' => [
|
||||
'features' => [
|
||||
'Social media management',
|
||||
'Reputation monitoring',
|
||||
'Content strategy'
|
||||
],
|
||||
'pricing' => 'Custom pricing based on campaign requirements'
|
||||
]
|
||||
];
|
||||
|
||||
Logger::debug("OnlineBrandManagementController::index() - Data prepared successfully.");
|
||||
View::render('pages/online_brand_management', $data);
|
||||
Logger::info("OnlineBrandManagementController::index() - Online brand management page rendered successfully.");
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("OnlineBrandManagementController::index() - Error rendering online brand management page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class ProjectManagementController
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
Logger::debug("ProjectManagementController::index() - Executing project management page rendering.");
|
||||
|
||||
try {
|
||||
$data = [
|
||||
'title' => 'Project Management - Wizdom Networks',
|
||||
'heroConfig' => [
|
||||
'title' => 'Professional Project Management',
|
||||
'description' => 'Ensuring success from start to finish.',
|
||||
'image' => '/assets/images/project-management-hero.jpg',
|
||||
'cta' => ['text' => 'Get Started', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>Project Management Services</h1>
|
||||
<p>We provide expert project management to ensure your projects are completed efficiently and successfully.</p>",
|
||||
'service_details' => [
|
||||
'features' => [
|
||||
'Planning and scheduling',
|
||||
'Resource allocation',
|
||||
'Risk management'
|
||||
],
|
||||
'pricing' => 'Custom pricing based on project scope'
|
||||
]
|
||||
];
|
||||
|
||||
Logger::debug("ProjectManagementController::index() - Data prepared successfully.");
|
||||
View::render('pages/project_management', $data);
|
||||
Logger::info("ProjectManagementController::index() - Project management page rendered successfully.");
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("ProjectManagementController::index() - Error rendering project management page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,48 +1,37 @@
|
|||
<?php
|
||||
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\Controller;
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class ServicesController extends Controller
|
||||
class ServicesController
|
||||
{
|
||||
public function index(): void
|
||||
public function index()
|
||||
{
|
||||
// Render the services page with the layout
|
||||
$this->render('pages/services', ['title' => 'Our Services']);
|
||||
}
|
||||
Logger::debug("ServicesController::index() - Executing services page rendering.");
|
||||
|
||||
public function itConsulting(): void
|
||||
{
|
||||
|
||||
try {
|
||||
$data = [
|
||||
'title' => 'Our Services - Wizdom Networks',
|
||||
'heroConfig' => [
|
||||
'title' => 'Explore Our IT Solutions',
|
||||
'description' => 'Comprehensive IT consulting and management services.',
|
||||
'image' => '/assets/images/services-hero.jpg',
|
||||
'cta' => ['text' => 'Get Started', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>Our IT Services</h1><p>We provide a range of IT consulting and managed services.</p>"
|
||||
];
|
||||
|
||||
$this->render('pages/services/it_consulting', [
|
||||
'title' => 'IT Consulting - Wizdom Networks',
|
||||
'content' => '<h1>IT Consulting</h1>
|
||||
<p>We provide tailored IT solutions to help your business thrive.</p>'
|
||||
]);
|
||||
}
|
||||
Logger::debug("ServicesController::index() - Data prepared successfully.");
|
||||
View::render('pages/services', $data);
|
||||
Logger::info("ServicesController::index() - Services page rendered successfully.");
|
||||
|
||||
public function emergencySupport(): void
|
||||
{
|
||||
|
||||
|
||||
$this->render('pages/services/emergency_support', [
|
||||
'title' => 'Emergency Support - Wizdom Networks',
|
||||
'content' => '<h1>Emergency Support</h1>
|
||||
<p>24/7 emergency IT support to ensure smooth operations.</p>'
|
||||
]);
|
||||
}
|
||||
|
||||
public function managedServices(): void
|
||||
{
|
||||
|
||||
|
||||
// Render the managed services page with the layout
|
||||
$this->render('pages/services/managed_services', [
|
||||
'title' => 'Managed Services',
|
||||
'content' => '<h1>Managed Services</h1>
|
||||
<p>We offer a wide array of managed services</p>'
|
||||
]);
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("ServicesController::index() - Error rendering services page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,42 @@
|
|||
<?php
|
||||
|
||||
namespace WizdomNetworks\WizeWeb\Controllers;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Core\Controller;
|
||||
use WizdomNetworks\WizeWeb\Core\View;
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
class TestimonialsController extends Controller
|
||||
class TestimonialsController
|
||||
{
|
||||
public function index(): void
|
||||
public function index()
|
||||
{
|
||||
$contactForm = $this->getContactForm('Want to leave us feedback?');
|
||||
Logger::debug("TestimonialsController::index() - Executing testimonials page rendering.");
|
||||
|
||||
$this->render('pages/testimonials', [
|
||||
'title' => 'Testimonials - Wizdom Networks',
|
||||
'content' => '<h1>Testimonials</h1>
|
||||
<p>Here\'s what our clients have to say about us:</p>' . $contactForm
|
||||
]);
|
||||
try {
|
||||
$data = [
|
||||
'title' => 'Client Testimonials - Wizdom Networks',
|
||||
'heroConfig' => [
|
||||
'title' => 'What Our Clients Say',
|
||||
'description' => 'Read testimonials from satisfied customers.',
|
||||
'image' => '/assets/images/testimonials-hero.jpg',
|
||||
'cta' => ['text' => 'Contact Us', 'link' => '/contact'],
|
||||
'style' => 'default',
|
||||
'position' => 'top'
|
||||
],
|
||||
'content' => "<h1>Client Testimonials</h1>
|
||||
<p>Discover how our services have made a difference for our clients.</p>",
|
||||
'testimonials' => [
|
||||
['client' => 'John Doe, CEO of TechCorp', 'quote' => 'Wizdom Networks transformed our IT infrastructure!'],
|
||||
['client' => 'Jane Smith, Founder of Startup Inc.', 'quote' => 'Exceptional service and expertise. Highly recommended!'],
|
||||
['client' => 'Michael Brown, CIO of Enterprise Solutions', 'quote' => 'Reliable and professional IT consulting.']
|
||||
]
|
||||
];
|
||||
|
||||
Logger::debug("TestimonialsController::index() - Data prepared successfully.");
|
||||
View::render('pages/testimonials', $data);
|
||||
Logger::info("TestimonialsController::index() - Testimonials page rendered successfully.");
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error("TestimonialsController::index() - Error rendering testimonials page: " . $e->getMessage());
|
||||
ErrorHandler::exception($e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,68 +3,43 @@
|
|||
namespace WizdomNetworks\WizeWeb\Core;
|
||||
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
abstract class Controller
|
||||
/**
|
||||
* Base Controller
|
||||
*
|
||||
* This class provides foundational methods for all controllers, including rendering views
|
||||
* and handling data passing.
|
||||
*/
|
||||
class Controller
|
||||
{
|
||||
/**
|
||||
* Render a view file with the given data.
|
||||
* Renders a view file and passes data to it.
|
||||
*
|
||||
* @param string $view The path to the view file.
|
||||
* @param array $data Data to be extracted and used in the view.
|
||||
* @throws \Exception If the view file cannot be found.
|
||||
* @param string $view The name of the view file (relative to /resources/views/).
|
||||
* @param array $data Associative array of variables to pass to the view.
|
||||
* @throws \Exception If the view file is not found.
|
||||
*/
|
||||
protected function render(string $view, array $data = []): void
|
||||
{
|
||||
try {
|
||||
// Extract data for use in the view
|
||||
extract($data);
|
||||
|
||||
// Resolve the view path
|
||||
$viewPath = __DIR__ . "/../../resources/views/$view.php";
|
||||
Logger::info("[DEBUG] Resolving view: $view | Path: $viewPath");
|
||||
|
||||
if (file_exists($viewPath)) {
|
||||
Logger::info("[DEBUG] Including view file: $viewPath");
|
||||
include $viewPath;
|
||||
Logger::info("[DEBUG] Successfully rendered view: $view");
|
||||
} else {
|
||||
throw new \Exception("View file not found: $view\nPath: $viewPath");
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Log the exception with Logger
|
||||
Logger::error("[ERROR] Exception while rendering view: " . $e->getMessage());
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the rendered content of the contact form.
|
||||
*
|
||||
* This method renders the contact form view and returns the output as a string.
|
||||
* It is used for embedding the contact form in various parts of the application.
|
||||
*
|
||||
* @param array $data Optional data to pass to the contact form view.
|
||||
* @return string The rendered contact form HTML.
|
||||
* @throws \Exception If the contact form view cannot be rendered.
|
||||
*/
|
||||
protected function getContactForm(array $data = []): string
|
||||
{
|
||||
try {
|
||||
Logger::info("[DEBUG] Rendering contact form with data: " . json_encode($data));
|
||||
|
||||
// Buffer output to capture rendered content
|
||||
ob_start();
|
||||
$this->render('partials/contact_form', $data);
|
||||
|
||||
$output = ob_get_clean();
|
||||
|
||||
Logger::info("[DEBUG] Successfully rendered contact form");
|
||||
|
||||
return $output;
|
||||
} catch (\Exception $e) {
|
||||
// Log any exception that occurs
|
||||
Logger::error("[ERROR] Exception while rendering contact form: " . $e->getMessage());
|
||||
throw $e;
|
||||
Logger::debug("Rendering view: $view");
|
||||
|
||||
// Extract data to make variables available in the view
|
||||
extract($data);
|
||||
|
||||
// Build the full path to the view file
|
||||
$viewPath = __DIR__ . "/../../resources/views/$view.php";
|
||||
|
||||
// Debugging: Log resolved path
|
||||
Logger::debug("Resolved view path: $viewPath");
|
||||
|
||||
// Check if the file exists before including it
|
||||
if (file_exists($viewPath)) {
|
||||
include $viewPath;
|
||||
Logger::debug("Successfully rendered view: $view");
|
||||
} else {
|
||||
Logger::error("View file not found: $view | Resolved path: $viewPath");
|
||||
throw new \Exception("View file not found: $view");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,45 +5,66 @@ namespace WizdomNetworks\WizeWeb\Core;
|
|||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
/**
|
||||
* Router Class
|
||||
*
|
||||
* Handles application routing by mapping URL paths to controller methods.
|
||||
* Ensures all requests are routed through controllers and logs dispatch details.
|
||||
*/
|
||||
class Router
|
||||
{
|
||||
protected array $routes = [];
|
||||
private array $routes = [];
|
||||
|
||||
/**
|
||||
* Registers a new route.
|
||||
*
|
||||
* @param string $path The URL path.
|
||||
* @param string $controller The fully qualified controller class name.
|
||||
* @param string $method The method within the controller.
|
||||
*/
|
||||
public function add(string $path, string $controller, string $method): void
|
||||
{
|
||||
// Normalize the path to remove leading/trailing slashes
|
||||
$normalizedPath = trim($path, '/');
|
||||
$this->routes[$normalizedPath] = ['controller' => $controller, 'method' => $method];
|
||||
Logger::info("Route added: $normalizedPath -> $controller::$method");
|
||||
Logger::debug("Registering route: $path -> $controller::$method");
|
||||
$this->routes[trim($path, '/')] = [$controller, $method];
|
||||
}
|
||||
|
||||
public function dispatch(string $path): void
|
||||
/**
|
||||
* Dispatches the request to the appropriate controller and method.
|
||||
*
|
||||
* @param string $path The requested URL path.
|
||||
*/
|
||||
public function dispatch($path)
|
||||
{
|
||||
// Normalize the incoming path to remove leading/trailing slashes
|
||||
$path = trim($path, '/');
|
||||
Logger::debug("Dispatching path: $path");
|
||||
|
||||
Logger::info("Dispatching path: $path");
|
||||
if (isset($this->routes[$path])) {
|
||||
[$controllerName, $method] = $this->routes[$path];
|
||||
Logger::debug("Loading controller: $controllerName::$method");
|
||||
|
||||
if (!isset($this->routes[$path])) {
|
||||
try {
|
||||
if (class_exists($controllerName)) {
|
||||
$controller = new $controllerName();
|
||||
|
||||
if (method_exists($controller, $method)) {
|
||||
Logger::info("Successfully dispatched: $controllerName::$method");
|
||||
$controller->$method();
|
||||
} else {
|
||||
Logger::error("Method not found: $controllerName::$method");
|
||||
throw new \Exception("Method $method not found in $controllerName");
|
||||
}
|
||||
} else {
|
||||
Logger::error("Controller not found: $controllerName");
|
||||
throw new \Exception("Controller $controllerName not found.");
|
||||
}
|
||||
} catch (\Throwable $e) {
|
||||
ErrorHandler::exception($e);
|
||||
Logger::error("Router dispatch error: " . $e->getMessage());
|
||||
echo "500 Internal Server Error";
|
||||
}
|
||||
} else {
|
||||
Logger::error("Route not found: $path");
|
||||
http_response_code(404);
|
||||
echo "404 - Page not found";
|
||||
return;
|
||||
echo "404 Not Found";
|
||||
}
|
||||
|
||||
$controllerName = $this->routes[$path]['controller'];
|
||||
$method = $this->routes[$path]['method'];
|
||||
|
||||
Logger::info("Loading controller: $controllerName::$method");
|
||||
|
||||
if (!class_exists($controllerName) || !method_exists($controllerName, $method)) {
|
||||
Logger::error("Controller or method not found: $controllerName::$method");
|
||||
http_response_code(500);
|
||||
echo "500 - Internal server error";
|
||||
return;
|
||||
}
|
||||
|
||||
$controller = new $controllerName();
|
||||
$controller->$method();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,43 @@
|
|||
|
||||
namespace WizdomNetworks\WizeWeb\Core;
|
||||
|
||||
class View {
|
||||
// Placeholder
|
||||
}
|
||||
use WizdomNetworks\WizeWeb\Utils\Logger;
|
||||
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
||||
|
||||
/**
|
||||
* View Renderer
|
||||
*
|
||||
* Handles view rendering, ensuring proper data passing and error handling.
|
||||
*/
|
||||
class View
|
||||
{
|
||||
/**
|
||||
* Renders a view file and passes data to it.
|
||||
*
|
||||
* @param string $view The name of the view file (relative to /resources/views/).
|
||||
* @param array $data Associative array of variables to pass to the view.
|
||||
* @throws \Exception If the view file is not found.
|
||||
*/
|
||||
public static function render(string $view, array $data = []): void
|
||||
{
|
||||
Logger::debug("Rendering view: $view");
|
||||
|
||||
// Extract data to make variables available in the view
|
||||
extract($data);
|
||||
|
||||
// Build the full path to the view file
|
||||
$viewPath = __DIR__ . "/../../resources/views/$view.php";
|
||||
|
||||
// Debugging: Log resolved path
|
||||
Logger::debug("Resolved view path: $viewPath");
|
||||
|
||||
// Check if the file exists before including it
|
||||
if (file_exists($viewPath)) {
|
||||
include $viewPath;
|
||||
Logger::debug("Successfully rendered view: $view");
|
||||
} else {
|
||||
Logger::error("View file not found: $view | Resolved path: $viewPath");
|
||||
throw new \Exception("View file not found: $view");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue