title: Get User custom fields without SOQL (like $User in formulas)?
body: <p>I have some custom fields on my User object that I want to access with APEX code in my VisualForce trigger. When I access it from a Formula field I get to use a nifty $User reference like this:</p>
  
  <pre><code>$User.my_prop__c
  </code></pre>
  
  <p>From APEX I have to query the User object by UserId like this:</p>
  
  <pre><code>[select my_prop__c from User where id = :UserInfo.getUserId()].my_prop__c;
  </code></pre>
  
  <p>Is there something baked into APEX already that would let me get at the user properties without the SOQL query? If not, does anyone know of a utility class for lazy loading and caching user properties so the overhead is minimal.</p>