As @GrahamClark mentioned before, you could be missing something. There's no way not to see phTextBoxes in code behind unless it is inside another control, such as GridView, etc.. Make sure your place holder is not inside any other control.
Another thing, on the top of your Designer window (aspx or ascx file), make sure you have referenced the related class name in CodeBehind/*CodeFile*, and Inherits if necessary.
Example1: I have a usercontrol called UC1, in the ascx file I should declare the class name as follows:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Cart.ascx.cs"
Inherits="UserControls_UC1" %>
Example2: I have a ASPX page called Default, in the aspx file I should declare the class name as follows:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>