Activity › Forums › Salesforce® Discussions › Difference between controller and extensions in Salesforce?
-
Difference between controller and extensions in Salesforce?
Posted by Suraj on April 28, 2017 at 1:43 PMDifference between controller and extensions?
shariq replied 8 years, 9 months ago 3 Members · 2 Replies -
2 Replies
-
Hi Suraj
A custom controller is an Apex class that implements all of the logic for a page without leveraging a standard controller. Use custom controllers when you want your Visualforce page to run entirely in system mode, which does not enforce the permissions and field-level security of the current user.
A controller extension is an Apex class that extends the functionality of a standard or custom controller. Use controller extensions when:You want to leverage the built-in functionality of a standard controller but override one or more actions, such as edit, view, save, or delete.
You want to add new actions.
You want to build a Visualforce page that respects user permissions. Although a controller extension class executes in system mode, if a controller extension extends a standard controller, the logic from the standard controller does not execute in system mode. Instead, it executes in user mode, in which permissions, field-level security, and sharing rules of the current user apply.Hope it may help:
- [adinserter block='9']
-
Hi Suraj,
There are 3 types of controller :-
Standard Controller :-
These are provided by the platform so you can produce Visualforce pages without writing code. You’d use these when you have a singe object to manipulate. It provides a save method to allow you to persist changes. There’s a variant of this that handles a collection of records – the standard list controller.
Custom Controller :-
This is written in Apex and requires you to write code for any behaviour you need. You’d use these when your page isn’t dealing with a main object – e.g. A launch pad that can take you to a number of different sub pages.
Extension Controller :-
This provides additional functionality to a controller – either a standard controller (e.g to manipulate child records along with a parent) or a custom controller (this is often overlooked and is a way to provide common functionality across a number of pages).
Log In to reply.