Disable sidebar per page and per site - best method

I wish to be able to disable the sidebar on a 'per page' basis or a 'per site' basis. What is the best method of this ?

I should also state, at that point I would expect the main content of the page to fill the area of the now missing sidebar.

Perhaps this is a template function or a child theme solution. Not sure. Been away from WordPress for about 4 months and just trying to remember this one.